\hypertarget{mmc__xpt_8c_source}{}\doxysection{mmc\+\_\+xpt.\+c}
\label{mmc__xpt_8c_source}\index{cam/mmc/mmc\_xpt.c@{cam/mmc/mmc\_xpt.c}}
\mbox{\hyperlink{mmc__xpt_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00001}00001 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00002}00002 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2013,2014 Ilya Bakulin <ilya@bakulin.de>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer,}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00012}00012 \textcolor{comment}{ *    without modification, immediately at the beginning of the file.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00013}00013 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00014}00014 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00015}00015 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00016}00016 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00017}00017 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00018}00018 \textcolor{comment}{ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00019}00019 \textcolor{comment}{ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00020}00020 \textcolor{comment}{ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00021}00021 \textcolor{comment}{ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00022}00022 \textcolor{comment}{ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00023}00023 \textcolor{comment}{ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00024}00024 \textcolor{comment}{ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00025}00025 \textcolor{comment}{ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00026}00026 \textcolor{comment}{ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00029}00029 \textcolor{preprocessor}{\#include <sys/cdefs.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00030}\mbox{\hyperlink{mmc__xpt_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{00030}} \mbox{\hyperlink{mmc__xpt_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\_\_FBSDID}}(\textcolor{stringliteral}{"{}\$FreeBSD\$"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00031}00031 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00032}00032 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00033}00033 \textcolor{preprocessor}{\#include <sys/bus.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00034}00034 \textcolor{preprocessor}{\#include <sys/endian.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00035}00035 \textcolor{preprocessor}{\#include <sys/systm.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00036}00036 \textcolor{preprocessor}{\#include <sys/types.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/malloc.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00038}00038 \textcolor{preprocessor}{\#include <sys/kernel.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00039}00039 \textcolor{preprocessor}{\#include <sys/time.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00040}00040 \textcolor{preprocessor}{\#include <sys/conf.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00041}00041 \textcolor{preprocessor}{\#include <sys/fcntl.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00042}00042 \textcolor{preprocessor}{\#include <sys/interrupt.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00043}00043 \textcolor{preprocessor}{\#include <sys/sbuf.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00045}00045 \textcolor{preprocessor}{\#include <sys/lock.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00046}00046 \textcolor{preprocessor}{\#include <sys/mutex.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00047}00047 \textcolor{preprocessor}{\#include <sys/sysctl.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00048}00048 \textcolor{preprocessor}{\#include <sys/condvar.h>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00049}00049 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00050}00050 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam_8h}{cam/cam.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00051}00051 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__ccb_8h}{cam/cam\_ccb.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00052}00052 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__queue_8h}{cam/cam\_queue.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00053}00053 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__periph_8h}{cam/cam\_periph.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00054}00054 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__sim_8h}{cam/cam\_sim.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00055}00055 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__xpt_8h}{cam/cam\_xpt.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00056}00056 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__xpt__sim_8h}{cam/cam\_xpt\_sim.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00057}00057 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__xpt__periph_8h}{cam/cam\_xpt\_periph.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00058}00058 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__xpt__internal_8h}{cam/cam\_xpt\_internal.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00059}00059 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{cam__debug_8h}{cam/cam\_debug.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00060}00060 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00061}00061 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{mmc_8h}{cam/mmc/mmc.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00062}00062 \textcolor{preprocessor}{\#include <\mbox{\hyperlink{mmc__bus_8h}{cam/mmc/mmc\_bus.h}}>}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00063}00063 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00064}00064 \textcolor{preprocessor}{\#include <machine/stdarg.h>}     \textcolor{comment}{/* for xpt\_print below */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00065}00065 \textcolor{preprocessor}{\#include <machine/\_inttypes.h>}  \textcolor{comment}{/* for PRIu64 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00066}00066 \textcolor{preprocessor}{\#include "{}opt\_cam.h"{}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00067}00067 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00068}\mbox{\hyperlink{mmc__xpt_8c_ae74171f60137ca87e86f0147df9e7a94}{00068}} \mbox{\hyperlink{mmc__xpt_8c_ae74171f60137ca87e86f0147df9e7a94}{FEATURE}}(mmccam, \textcolor{stringliteral}{"{}CAM-\/based MMC/SD/SDIO stack"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00069}00069 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00070}00070 \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__ed}{cam\_ed}} * \mbox{\hyperlink{mmc__xpt_8c_a3aeaf2eaf7a077221a0b886e2aba6ad7}{mmc\_alloc\_device}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__eb}{cam\_eb}} *bus,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00071}00071     \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__et}{cam\_et}} *\mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}}, \mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\_id\_t}} \mbox{\hyperlink{structcam__ed_a66726e4150e5824da5b8ae7fd80b207d}{lun\_id}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00072}00072 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mmc__xpt_8c_ab0821ff0f3f828d32307ebe1e6d79b09}{mmc\_dev\_async}}(u\_int32\_t async\_code, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__eb}{cam\_eb}} *bus,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00073}00073     \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__et}{cam\_et}} *\mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}}, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device, \textcolor{keywordtype}{void} *async\_arg);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00074}00074 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_a055c645d5d4ec7969c9fe0d2424a8e9f}{mmc\_action}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00075}00075 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_ab36ec67d8b557b4aac2546f05c532e8a}{mmc\_dev\_advinfo}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00076}00076 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_ab973c1c09ebe0a7c85a2beff5c67996f}{mmc\_announce\_periph}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00077}00077 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_a31123cea93a16ab5a02968e82c48aeb1}{mmc\_scan\_lun}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00078}00078     \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__path}{cam\_path}} *path, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\_flags}} \mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}}, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *\mbox{\hyperlink{unionccb}{ccb}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00079}00079 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00080}00080 \textcolor{comment}{/* mmcprobe methods */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00081}00081 \textcolor{keyword}{static} \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\_status}} \mbox{\hyperlink{mmc__xpt_8c_a964a9296f928b9064d82bfcea636b1fb}{mmcprobe\_register}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keywordtype}{void} *arg);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00082}00082 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_a927b63128d862f6f27b00b663d5fbd67}{mmcprobe\_start}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00083}00083 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_ad10ea3a1747023de4b746ca03c1aff7b}{mmcprobe\_cleanup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00084}00084 \textcolor{keyword}{static} \textcolor{keywordtype}{void}      \mbox{\hyperlink{mmc__xpt_8c_a3c1115749b9ee60de705c5e2683eaa27}{mmcprobe\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *done\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00086}00086 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mmc__xpt_8c_af51be5eab7e51f54865d0d8869c2789a}{mmc\_proto\_announce}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00087}00087 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mmc__xpt_8c_a2d6de3a463bfafefef64718848124651}{mmc\_proto\_denounce}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00088}00088 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mmc__xpt_8c_a6a4100441a807b256ce6e14540c6eaa8}{mmc\_proto\_debug\_out}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *\mbox{\hyperlink{unionccb}{ccb}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00089}00089 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00090}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836f}{00090}} \textcolor{keyword}{typedef} \textcolor{keyword}{enum} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00091}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{00091}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{PROBE\_RESET}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00092}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{00092}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{PROBE\_IDENTIFY}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00093}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa062f70e64bb88238c8aabb036880cc56}{00093}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa062f70e64bb88238c8aabb036880cc56}{PROBE\_POWER\_OFF}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00094}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1c2ee9503cdea578523a2f025c7b3e83}{00094}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1c2ee9503cdea578523a2f025c7b3e83}{PROBE\_GET\_HOST\_OCR}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00095}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8934734e984d2939cb48493cdb9978fe}{00095}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8934734e984d2939cb48493cdb9978fe}{PROBE\_RESET\_BUS}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00096}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf38a19ce116ebf765e9b1ae7ef70886a}{00096}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf38a19ce116ebf765e9b1ae7ef70886a}{PROBE\_SET\_ID\_FREQ}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00097}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faadc2770b2ee1a0bd91223259649694e5}{00097}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faadc2770b2ee1a0bd91223259649694e5}{PROBE\_SET\_CS}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00098}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8219f2a133e600295ee38cf3e63e8a1f}{00098}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8219f2a133e600295ee38cf3e63e8a1f}{PROBE\_GO\_IDLE\_STATE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00099}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2438c3dd0ac78850d07cae1199c6b84d}{00099}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2438c3dd0ac78850d07cae1199c6b84d}{PROBE\_SDIO\_RESET}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00100}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa421776c98dd83842a7169cb6ee5cff34}{00100}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa421776c98dd83842a7169cb6ee5cff34}{PROBE\_SEND\_IF\_COND}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00101}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa83b51ecd2fcc485fc1598b1c71baa28a}{00101}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa83b51ecd2fcc485fc1598b1c71baa28a}{PROBE\_SDIO\_INIT}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00102}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa18dffb43ac621a7e85e4e3221382e7e2}{00102}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa18dffb43ac621a7e85e4e3221382e7e2}{PROBE\_MMC\_INIT}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00103}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{00103}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00104}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{00104}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{PROBE\_GET\_CID}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00105}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{00105}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{PROBE\_GET\_CSD}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00106}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{00106}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{PROBE\_SEND\_RELATIVE\_ADDR}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00107}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab1b02c2bfc9d84d3257870eb90bdb2a0}{00107}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab1b02c2bfc9d84d3257870eb90bdb2a0}{PROBE\_MMC\_SET\_RELATIVE\_ADDR}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00108}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{00108}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{PROBE\_SELECT\_CARD}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00109}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{00109}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{PROBE\_DONE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00110}00110         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00111}\mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{00111}} \} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836f}{probe\_action}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00112}00112 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00113}\mbox{\hyperlink{mmc__xpt_8c_a21a74ef3b25eab1e3d4a6005a7a42281}{00113}} \textcolor{keyword}{static} \textcolor{keywordtype}{char} *\mbox{\hyperlink{mmc__xpt_8c_a21a74ef3b25eab1e3d4a6005a7a42281}{probe\_action\_text}}[] = \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00114}00114         \textcolor{stringliteral}{"{}PROBE\_RESET"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00115}00115         \textcolor{stringliteral}{"{}PROBE\_IDENTIFY"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00116}00116         \textcolor{stringliteral}{"{}PROBE\_POWER\_OFF"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00117}00117         \textcolor{stringliteral}{"{}PROBE\_GET\_HOST\_OCR"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00118}00118         \textcolor{stringliteral}{"{}PROBE\_RESET\_BUS"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00119}00119         \textcolor{stringliteral}{"{}PROBE\_SET\_ID\_FREQ"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00120}00120         \textcolor{stringliteral}{"{}PROBE\_SET\_CS"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00121}00121         \textcolor{stringliteral}{"{}PROBE\_GO\_IDLE\_STATE"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00122}00122         \textcolor{stringliteral}{"{}PROBE\_SDIO\_RESET"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00123}00123         \textcolor{stringliteral}{"{}PROBE\_SEND\_IF\_COND"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00124}00124         \textcolor{stringliteral}{"{}PROBE\_SDIO\_INIT"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00125}00125         \textcolor{stringliteral}{"{}PROBE\_MMC\_INIT"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00126}00126         \textcolor{stringliteral}{"{}PROBE\_SEND\_APP\_OP\_COND"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00127}00127         \textcolor{stringliteral}{"{}PROBE\_GET\_CID"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00128}00128         \textcolor{stringliteral}{"{}PROBE\_GET\_CSD"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00129}00129         \textcolor{stringliteral}{"{}PROBE\_SEND\_RELATIVE\_ADDR"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00130}00130         \textcolor{stringliteral}{"{}PROBE\_MMC\_SET\_RELATIVE\_ADDR"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00131}00131         \textcolor{stringliteral}{"{}PROBE\_SELECT\_CARD"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00132}00132         \textcolor{stringliteral}{"{}PROBE\_DONE"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00133}00133         \textcolor{stringliteral}{"{}PROBE\_INVALID"{}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00134}00134 \};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00135}00135 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00136}\mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{00136}} \textcolor{preprocessor}{\#define PROBE\_SET\_ACTION(softc, newaction)      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00137}00137 \textcolor{preprocessor}{do \{                                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00138}00138 \textcolor{preprocessor}{        char **text;                                                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00139}00139 \textcolor{preprocessor}{        text = probe\_action\_text;                                       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00140}00140 \textcolor{preprocessor}{        CAM\_DEBUG((softc)-\/>periph-\/>path, CAM\_DEBUG\_PROBE,               \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00141}00141 \textcolor{preprocessor}{            ("{}Probe \%s to \%s\(\backslash\)n"{}}, text[(softc)-\/>action],                 \(\backslash\)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00142}00142             text[(newaction)]));                                        \(\backslash\)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00143}00143         (softc)-\/>action = (newaction);                                  \(\backslash\)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00144}00144 \} while(0)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00145}00145 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00146}\mbox{\hyperlink{mmc__xpt_8c_ae5bba34b1c70554c3222d07d5c7aeb16}{00146}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structxpt__xport__ops}{xpt\_xport\_ops}} \mbox{\hyperlink{mmc__xpt_8c_ae5bba34b1c70554c3222d07d5c7aeb16}{mmc\_xport\_ops}} = \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00147}00147         .\mbox{\hyperlink{structxpt__xport__ops_a98acc113c6109e80e39205f6f780b0ae}{alloc\_device}} = \mbox{\hyperlink{mmc__xpt_8c_a3aeaf2eaf7a077221a0b886e2aba6ad7}{mmc\_alloc\_device}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00148}00148         .action = \mbox{\hyperlink{mmc__xpt_8c_a055c645d5d4ec7969c9fe0d2424a8e9f}{mmc\_action}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00149}00149         .async = \mbox{\hyperlink{mmc__xpt_8c_ab0821ff0f3f828d32307ebe1e6d79b09}{mmc\_dev\_async}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00150}00150         .announce = \mbox{\hyperlink{mmc__xpt_8c_ab973c1c09ebe0a7c85a2beff5c67996f}{mmc\_announce\_periph}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00151}00151 \};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00152}00152 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00153}\mbox{\hyperlink{mmc__xpt_8c_a4a94109902040f69d40f0aa75caac45c}{00153}} \textcolor{preprocessor}{\#define MMC\_XPT\_XPORT(x, X)                             \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00154}00154 \textcolor{preprocessor}{        static struct xpt\_xport mmc\_xport\_ \#\# x = \{     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00155}00155 \textcolor{preprocessor}{                .xport = XPORT\_ \#\# X,                   \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00156}00156 \textcolor{preprocessor}{                .name = \#x,                             \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00157}00157 \textcolor{preprocessor}{                .ops = \&mmc\_xport\_ops,                  \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00158}00158 \textcolor{preprocessor}{        \};                                              \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00159}00159 \textcolor{preprocessor}{        CAM\_XPT\_XPORT(mmc\_xport\_ \#\# x);}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00160}00160 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00161}\mbox{\hyperlink{mmc__xpt_8c_a5c69411411c9180037f4934f4335b55d}{00161}} \mbox{\hyperlink{mmc__xpt_8c_a4a94109902040f69d40f0aa75caac45c}{MMC\_XPT\_XPORT}}(mmc, MMCSD);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00162}00162 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00163}\mbox{\hyperlink{mmc__xpt_8c_a7a7f1064534eb5772afc9e74532e12a2}{00163}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structxpt__proto__ops}{xpt\_proto\_ops}} \mbox{\hyperlink{mmc__xpt_8c_a7a7f1064534eb5772afc9e74532e12a2}{mmc\_proto\_ops}} = \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00164}00164         .\mbox{\hyperlink{structxpt__proto__ops_a45482cdeb92009b41aef8d11299365c3}{announce}} = \mbox{\hyperlink{mmc__xpt_8c_af51be5eab7e51f54865d0d8869c2789a}{mmc\_proto\_announce}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00165}00165         .denounce = \mbox{\hyperlink{mmc__xpt_8c_a2d6de3a463bfafefef64718848124651}{mmc\_proto\_denounce}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00166}00166         .debug\_out = \mbox{\hyperlink{mmc__xpt_8c_a6a4100441a807b256ce6e14540c6eaa8}{mmc\_proto\_debug\_out}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00167}00167 \};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00168}00168 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00169}\mbox{\hyperlink{mmc__xpt_8c_aff53aad9eb336255ff29001eedc067e3}{00169}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structxpt__proto}{xpt\_proto}} \mbox{\hyperlink{mmc__xpt_8c_aff53aad9eb336255ff29001eedc067e3}{mmc\_proto}} = \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00170}00170         .\mbox{\hyperlink{structxpt__proto_ac96093118d15deb30c681db7bb9307b7}{proto}} = \mbox{\hyperlink{cam__ccb_8h_a283e001579038402a95e23bef57107e8a982a0b7e7a81cd9adcbcab95e3698b4b}{PROTO\_MMCSD}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00171}00171         .name = \textcolor{stringliteral}{"{}mmcsd"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00172}00172         .ops = \&\mbox{\hyperlink{mmc__xpt_8c_a7a7f1064534eb5772afc9e74532e12a2}{mmc\_proto\_ops}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00173}00173 \};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00174}\mbox{\hyperlink{mmc__xpt_8c_a085312adb8fdc7dcdb80ecd2f2cf1fa0}{00174}} \mbox{\hyperlink{mmc__xpt_8c_a085312adb8fdc7dcdb80ecd2f2cf1fa0}{CAM\_XPT\_PROTO}}(\mbox{\hyperlink{mmc__xpt_8c_aff53aad9eb336255ff29001eedc067e3}{mmc\_proto}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00175}00175 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00176}\mbox{\hyperlink{structmmcprobe__softc}{00176}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00177}\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{00177}}         \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836f}{probe\_action}}        \mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00178}\mbox{\hyperlink{structmmcprobe__softc_af24ff944b435679837109df6436d66fa}{00178}}         \textcolor{keywordtype}{int}             \mbox{\hyperlink{structmmcprobe__softc_af24ff944b435679837109df6436d66fa}{restart}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00179}\mbox{\hyperlink{structmmcprobe__softc_a38ce7d818143f9eb4d5b71dd5093bb98}{00179}}         uint32\_t        \mbox{\hyperlink{structmmcprobe__softc_a38ce7d818143f9eb4d5b71dd5093bb98}{host\_ocr}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00180}\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{00180}}         uint32\_t        \mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00181}\mbox{\hyperlink{mmc__xpt_8c_ae5bf7f8322a2a4cafd6f3d2531771ea6}{00181}} \textcolor{preprocessor}{\#define PROBE\_FLAG\_ACMD\_SENT    0x1 }\textcolor{comment}{/* CMD55 is sent, card expects ACMD */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00182}\mbox{\hyperlink{mmc__xpt_8c_a9f4ae4da2d5ac736ebc095d4ae213e42}{00182}} \textcolor{preprocessor}{\#define PROBE\_FLAG\_HOST\_CAN\_DO\_18V   0x2 }\textcolor{comment}{/* Host can do 1.8V signaling */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00183}\mbox{\hyperlink{structmmcprobe__softc_a0f9221a41f7f6061c95ab340fd99aec9}{00183}}         uint8\_t         \mbox{\hyperlink{structmmcprobe__softc_a0f9221a41f7f6061c95ab340fd99aec9}{acmd41\_count}}; \textcolor{comment}{/* how many times ACMD41 has been issued */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00184}\mbox{\hyperlink{structmmcprobe__softc_a88274470b9e2b23250aea83b36648ace}{00184}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__periph}{cam\_periph}} *\mbox{\hyperlink{structmmcprobe__softc_a88274470b9e2b23250aea83b36648ace}{periph}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00185}00185 \} \mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00186}00186 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00187}00187 \textcolor{comment}{/* XPort functions -\/-\/ an interface to CAM at periph side */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00188}00188 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00189}00189 \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__ed}{cam\_ed}} *}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00190}\mbox{\hyperlink{mmc__xpt_8c_a3aeaf2eaf7a077221a0b886e2aba6ad7}{00190}} \mbox{\hyperlink{mmc__xpt_8c_a3aeaf2eaf7a077221a0b886e2aba6ad7}{mmc\_alloc\_device}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__eb}{cam\_eb}} *bus, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__et}{cam\_et}} *\mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}}, \mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\_id\_t}} \mbox{\hyperlink{structcam__ed_a66726e4150e5824da5b8ae7fd80b207d}{lun\_id}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00191}00191 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00192}00192         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__ed}{cam\_ed}} *device;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00193}00193 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00194}00194         device = \mbox{\hyperlink{cam__xpt_8c_ad60ccf109355adedbf688ff3480061f2}{xpt\_alloc\_device}}(bus, \mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}}, \mbox{\hyperlink{structcam__ed_a66726e4150e5824da5b8ae7fd80b207d}{lun\_id}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00195}00195         \textcolor{keywordflow}{if} (device == NULL)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00196}00196                 \textcolor{keywordflow}{return} (NULL);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00197}00197 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00198}00198         device-\/>\mbox{\hyperlink{structcam__ed_ab21b31dc485a0177a7027eb081b4fcef}{quirk}} = NULL;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00199}00199         device-\/>\mbox{\hyperlink{structcam__ed_a4c0260174102acd8aff3af41038f6b95}{mintags}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00200}00200         device-\/>\mbox{\hyperlink{structcam__ed_a230a075b8326e7811f8d89e1ddbefe26}{maxtags}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00201}00201         bzero(\&device-\/>\mbox{\hyperlink{structcam__ed_af6726317eeed0cae9946ca90053653b8}{inq\_data}}, \textcolor{keyword}{sizeof}(device-\/>\mbox{\hyperlink{structcam__ed_af6726317eeed0cae9946ca90053653b8}{inq\_data}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00202}00202         device-\/>\mbox{\hyperlink{structcam__ed_a72233078c6c53a614e242b55ae7a4f25}{inq\_flags}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00203}00203         device-\/>\mbox{\hyperlink{structcam__ed_a379f471ec5eb0147bbd51cfa573362c3}{queue\_flags}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00204}00204         device-\/>\mbox{\hyperlink{structcam__ed_a42307f2d582c88574f75c7e5393bdba0}{serial\_num}} = NULL;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00205}00205         device-\/>\mbox{\hyperlink{structcam__ed_a5ac00c1566eaed5d30763c9cbbda3201}{serial\_num\_len}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00206}00206         \textcolor{keywordflow}{return} (device);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00207}00207 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00208}00208 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00209}00209 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00210}\mbox{\hyperlink{mmc__xpt_8c_ab0821ff0f3f828d32307ebe1e6d79b09}{00210}} \mbox{\hyperlink{mmc__xpt_8c_ab0821ff0f3f828d32307ebe1e6d79b09}{mmc\_dev\_async}}(u\_int32\_t async\_code, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__eb}{cam\_eb}} *bus, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__et}{cam\_et}} *\mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00211}00211               \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device, \textcolor{keywordtype}{void} *async\_arg)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00212}00212 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00213}00213 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00214}00214         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00215}00215 \textcolor{comment}{         * We only need to handle events for real devices.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00216}00216 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00217}00217         \textcolor{keywordflow}{if} (\mbox{\hyperlink{structcam__ed_a50ca7346e6bf2b64351c207e6ee7a3d6}{target}}-\/>\mbox{\hyperlink{structcam__et_a5dfc9f710a2a378252232d2a5704bca6}{target\_id}} == \mbox{\hyperlink{cam_8h_a08317e5f8591315faef6fecfd3817fed}{CAM\_TARGET\_WILDCARD}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00218}00218             || device-\/>\mbox{\hyperlink{structcam__ed_a66726e4150e5824da5b8ae7fd80b207d}{lun\_id}} == \mbox{\hyperlink{cam_8h_a18ef98c84b4cf578514faec8ba1a8d28}{CAM\_LUN\_WILDCARD}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00219}00219                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00220}00220 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00221}00221         \textcolor{keywordflow}{if} (async\_code == \mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0ac3008f99f93ca1448f9c8705b1653da5}{AC\_LOST\_DEVICE}} \&\&}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00222}00222             (device-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}}) == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00223}00223                 device-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} |= \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00224}00224                 \mbox{\hyperlink{cam__xpt_8c_a33e988a8edce9afeed8fbf53f8114163}{xpt\_release\_device}}(device);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00225}00225         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00226}00226 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00227}00227 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00228}00228 \textcolor{comment}{/* Taken from nvme\_scan\_lun, thanks to bsdimp@ */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00229}00229 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00230}\mbox{\hyperlink{mmc__xpt_8c_a31123cea93a16ab5a02968e82c48aeb1}{00230}} \mbox{\hyperlink{mmc__xpt_8c_a31123cea93a16ab5a02968e82c48aeb1}{mmc\_scan\_lun}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__path}{cam\_path}} *path,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00231}00231              \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\_flags}} \mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}}, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *request\_ccb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00232}00232 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00233}00233         \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__pathinq}{ccb\_pathinq}} cpi;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00234}00234         \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\_status}} status;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00235}00235         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__periph}{cam\_periph}} *old\_periph;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00236}00236         \textcolor{keywordtype}{int} lock;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00237}00237 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00238}00238         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}}, (\textcolor{stringliteral}{"{}mmc\_scan\_lun\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00239}00239 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00240}00240         \mbox{\hyperlink{cam__xpt_8h_ae111c3fbe95a53d1bdb2f112d86b929b}{xpt\_path\_inq}}(\&cpi, \mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00241}00241 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00242}00242         \textcolor{keywordflow}{if} (cpi.\mbox{\hyperlink{structccb__pathinq_a9e4ef19d9e427247f68ee45ea48a93d2}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} != \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00243}00243                 \textcolor{keywordflow}{if} (request\_ccb != NULL) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00244}00244                         request\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = cpi.\mbox{\hyperlink{structccb__pathinq_a9e4ef19d9e427247f68ee45ea48a93d2}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00245}00245                         \mbox{\hyperlink{cam__xpt_8c_a708fed7e2d55a1b2a180bb4462513393}{xpt\_done}}(request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00246}00246                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00247}00247                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00248}00248         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00249}00249 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00250}00250         \textcolor{keywordflow}{if} (\mbox{\hyperlink{cam__xpt_8c_a8e1d3e8605e605c38025b24dbb62e145}{xpt\_path\_lun\_id}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}) == \mbox{\hyperlink{cam_8h_a18ef98c84b4cf578514faec8ba1a8d28}{CAM\_LUN\_WILDCARD}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00251}00251                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}}, (\textcolor{stringliteral}{"{}mmd\_scan\_lun ignoring bus\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00252}00252                 request\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}};  \textcolor{comment}{/* XXX signal error ? */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00253}00253                 \mbox{\hyperlink{cam__xpt_8c_a708fed7e2d55a1b2a180bb4462513393}{xpt\_done}}(request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00254}00254                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00255}00255         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00256}00256 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00257}00257         lock = (\mbox{\hyperlink{cam__xpt_8h_a3ac87e956208447cbf9b4037273d385d}{xpt\_path\_owned}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}) == 0);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00258}00258         \textcolor{keywordflow}{if} (lock)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00259}00259                 \mbox{\hyperlink{cam__xpt_8h_a81ce2d44dcd261d0d54d1c24b0e1f11e}{xpt\_path\_lock}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00260}00260 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00261}00261         \textcolor{keywordflow}{if} ((old\_periph = \mbox{\hyperlink{cam__periph_8c_a226ad3f9f98f7569d1ca8ab5d725c6bf}{cam\_periph\_find}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \textcolor{stringliteral}{"{}mmcprobe"{}})) != NULL) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00262}00262                 \textcolor{keywordflow}{if} ((old\_periph-\/>\mbox{\hyperlink{structcam__periph_adc175e8331b0d9559b02277232bc8c5a}{flags}} \& \mbox{\hyperlink{cam__periph_8h_a102702353fe3915d10c6d66bf5b643a7}{CAM\_PERIPH\_INVALID}}) == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00263}00263 \textcolor{comment}{//                      mmcprobe\_softc *softc;}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00264}00264 \textcolor{comment}{//                      softc = (mmcprobe\_softc *)old\_periph-\/>softc;}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00265}00265 \textcolor{comment}{//                      Not sure if we need request ccb queue for mmc}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00266}00266 \textcolor{comment}{//                      TAILQ\_INSERT\_TAIL(\&softc-\/>request\_ccbs,}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00267}00267 \textcolor{comment}{//                              \&request\_ccb-\/>ccb\_h, periph\_links.tqe);}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00268}00268 \textcolor{comment}{//                      softc-\/>restart = 1;}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00269}00269                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369abf04aaf5da3cac8fdf092e75a6b82da6}{CAM\_DEBUG\_INFO}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00270}00270                                   (\textcolor{stringliteral}{"{}Got scan request, but mmcprobe already exists\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00271}00271                         request\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a7c519e8cfabb5fd17f4d518c82c17692}{CAM\_REQ\_CMP\_ERR}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00272}00272                         \mbox{\hyperlink{cam__xpt_8c_a708fed7e2d55a1b2a180bb4462513393}{xpt\_done}}(request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00273}00273                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00274}00274                         request\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a7c519e8cfabb5fd17f4d518c82c17692}{CAM\_REQ\_CMP\_ERR}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00275}00275                         \mbox{\hyperlink{cam__xpt_8c_a708fed7e2d55a1b2a180bb4462513393}{xpt\_done}}(request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00276}00276                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00277}00277         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00278}00278                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369abf04aaf5da3cac8fdf092e75a6b82da6}{CAM\_DEBUG\_INFO}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00279}00279                     (\textcolor{stringliteral}{"{} Set up the mmcprobe device...\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00280}00280 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00281}00281                 status = \mbox{\hyperlink{cam__periph_8c_ad5e57f86a941e5a4021b0b026851e445}{cam\_periph\_alloc}}(\mbox{\hyperlink{mmc__xpt_8c_a964a9296f928b9064d82bfcea636b1fb}{mmcprobe\_register}}, NULL,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00282}00282                                           \mbox{\hyperlink{mmc__xpt_8c_ad10ea3a1747023de4b746ca03c1aff7b}{mmcprobe\_cleanup}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00283}00283                                           \mbox{\hyperlink{mmc__xpt_8c_a927b63128d862f6f27b00b663d5fbd67}{mmcprobe\_start}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00284}00284                                           \textcolor{stringliteral}{"{}mmcprobe"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00285}00285                                           \mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6cada5282ff3d485d68259bc309db51476b}{CAM\_PERIPH\_BIO}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00286}00286                                           \mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, NULL, 0,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00287}00287                                           request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00288}00288                 \textcolor{keywordflow}{if} (status != \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00289}00289                         \mbox{\hyperlink{cam__xpt_8c_a342b8e2ed77d0b7a12ae7bc49dd2beac}{xpt\_print}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \textcolor{stringliteral}{"{}xpt\_scan\_lun: cam\_alloc\_periph "{}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00290}00290                                   \textcolor{stringliteral}{"{}returned an error, can't continue probe\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00291}00291                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00292}00292                 request\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = status;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00293}00293                 \mbox{\hyperlink{cam__xpt_8c_a708fed7e2d55a1b2a180bb4462513393}{xpt\_done}}(request\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00294}00294         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00295}00295 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00296}00296         \textcolor{keywordflow}{if} (lock)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00297}00297                 \mbox{\hyperlink{cam__xpt_8h_a14b8db5099e848843133059a192429af}{xpt\_path\_unlock}}(\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00298}00298 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00299}00299 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00300}00300 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00301}\mbox{\hyperlink{mmc__xpt_8c_a055c645d5d4ec7969c9fe0d2424a8e9f}{00301}} \mbox{\hyperlink{mmc__xpt_8c_a055c645d5d4ec7969c9fe0d2424a8e9f}{mmc\_action}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00302}00302 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00303}00303         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00304}00304                   (\textcolor{stringliteral}{"{}mmc\_action! func\_code=\%x, action \%s\(\backslash\)n"{}}, start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00305}00305                    \mbox{\hyperlink{cam__xpt_8c_ad670b71d83c813fbc5d89991acd24165}{xpt\_action\_name}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}})));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00306}00306         \textcolor{keywordflow}{switch} (start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00307}00307         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca606ac2c0939d2858df5aef0e73c617c6}{XPT\_SCAN\_BUS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00308}00308                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00309}00309         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca45eb936f3f3c24b0e02ff4baa1b58a36}{XPT\_SCAN\_TGT}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00310}00310                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00311}00311         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055caa2828a4a48f97489aed4478e936020de}{XPT\_SCAN\_LUN}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00312}00312                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369abf04aaf5da3cac8fdf092e75a6b82da6}{CAM\_DEBUG\_INFO}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00313}00313                           (\textcolor{stringliteral}{"{}XPT\_SCAN\_\{BUS,TGT,LUN\}\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00314}00314                 \mbox{\hyperlink{mmc__xpt_8c_a31123cea93a16ab5a02968e82c48aeb1}{mmc\_scan\_lun}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}-\/>\mbox{\hyperlink{structcam__path_af86a5c85f988da0c716d32729373e265}{periph}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00315}00315                              start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, start\_ccb-\/>\mbox{\hyperlink{unionccb_aed03766d497ec7301e6741fa7fb11337}{crcn}}.\mbox{\hyperlink{structccb__rescan_a4be279ca6b7db9b43a9cd2528142e067}{flags}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00316}00316                              start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00317}00317                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00318}00318 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00319}00319         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca2c75d86cab0c5759920462cc2176ba5c}{XPT\_DEV\_ADVINFO}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00320}00320         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00321}00321                 \mbox{\hyperlink{mmc__xpt_8c_ab36ec67d8b557b4aac2546f05c532e8a}{mmc\_dev\_advinfo}}(start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00322}00322                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00323}00323         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00324}00324 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00325}00325         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00326}00326                 \mbox{\hyperlink{cam__xpt_8c_aa2dfec3d7dc6484408b51af5c19a9e13}{xpt\_action\_default}}(start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00327}00327                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00328}00328         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00329}00329 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00330}00330 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00331}00331 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00332}\mbox{\hyperlink{mmc__xpt_8c_ab36ec67d8b557b4aac2546f05c532e8a}{00332}} \mbox{\hyperlink{mmc__xpt_8c_ab36ec67d8b557b4aac2546f05c532e8a}{mmc\_dev\_advinfo}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00333}00333 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00334}00334         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__ed}{cam\_ed}} *device;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00335}00335         \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__dev__advinfo}{ccb\_dev\_advinfo}} *cdai;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00336}00336         off\_t amt;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00337}00337 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00338}00338         \mbox{\hyperlink{cam__xpt_8h_aa54087e85f491e70bff540b8b7d3cc1d}{xpt\_path\_assert}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00339}00339         start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a12f00b32285d7ae4b17eb8aaeae0d0fb}{CAM\_REQ\_INVALID}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00340}00340         device = start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00341}00341         cdai = \&start\_ccb-\/>\mbox{\hyperlink{unionccb_a6481bcffdd3f33a0eb2b41c31058b200}{cdai}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00342}00342         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00343}00343                   (\textcolor{stringliteral}{"{}\%s: request \%x\(\backslash\)n"{}}, \_\_func\_\_, cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a349f9c118cd0310b80635196fe1995f5}{buftype}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00344}00344 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00345}00345         \textcolor{comment}{/* We don't support writing any data */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00346}00346         \textcolor{keywordflow}{if} (cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_affc168900cb9c5285561c61f0943c3e3}{flags}} \& \mbox{\hyperlink{cam__ccb_8h_a1649dc6619c9ab79ccfda2734a27bbaf}{CDAI\_FLAG\_STORE}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00347}00347                 panic(\textcolor{stringliteral}{"{}Attempt to store data?!"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00348}00348 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00349}00349         \textcolor{keywordflow}{switch}(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a349f9c118cd0310b80635196fe1995f5}{buftype}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00350}00350         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_afae025ff27326a323b7d84ee22cec979}{CDAI\_TYPE\_SCSI\_DEVID}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00351}00351                 cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}} = device-\/>\mbox{\hyperlink{structcam__ed_ae57c15d556cabe2682eb652aaf9254cf}{device\_id\_len}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00352}00352                 \textcolor{keywordflow}{if} (device-\/>\mbox{\hyperlink{structcam__ed_ae57c15d556cabe2682eb652aaf9254cf}{device\_id\_len}} == 0)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00353}00353                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00354}00354                 amt = MIN(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}}, cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_afa050eda9092cdf454257eedb612ba3c}{bufsiz}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00355}00355                 memcpy(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a7b8fe8dead2731461b79ca1a5806956f}{buf}}, device-\/>\mbox{\hyperlink{structcam__ed_a8feeaac693e585319cf80960ea87d222}{device\_id}}, amt);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00356}00356                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00357}00357         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_ab63a59990798ec2f63fe45aa76dcb973}{CDAI\_TYPE\_SERIAL\_NUM}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00358}00358                 cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}} = device-\/>\mbox{\hyperlink{structcam__ed_a5ac00c1566eaed5d30763c9cbbda3201}{serial\_num\_len}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00359}00359                 \textcolor{keywordflow}{if} (device-\/>\mbox{\hyperlink{structcam__ed_a5ac00c1566eaed5d30763c9cbbda3201}{serial\_num\_len}} == 0)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00360}00360                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00361}00361                 amt = MIN(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}}, cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_afa050eda9092cdf454257eedb612ba3c}{bufsiz}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00362}00362                 memcpy(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a7b8fe8dead2731461b79ca1a5806956f}{buf}}, device-\/>\mbox{\hyperlink{structcam__ed_a42307f2d582c88574f75c7e5393bdba0}{serial\_num}}, amt);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00363}00363                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00364}00364         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_ac101e60833e21699afff0ae410e4f31e}{CDAI\_TYPE\_PHYS\_PATH}}: \textcolor{comment}{/* pass(4) wants this */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00365}00365                 cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00366}00366                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00367}00367         \textcolor{keywordflow}{case} \mbox{\hyperlink{cam__ccb_8h_a93a7bf1cb7761ca88d8b255c4758d3cf}{CDAI\_TYPE\_MMC\_PARAMS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00368}00368                 cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}} = \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00369}00369                 amt = MIN(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a88936aaf5ac9d906ab5c5e59d806fff7}{provsiz}}, cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_afa050eda9092cdf454257eedb612ba3c}{bufsiz}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00370}00370                 memcpy(cdai-\/>\mbox{\hyperlink{structccb__dev__advinfo_a7b8fe8dead2731461b79ca1a5806956f}{buf}}, \&device-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}, amt);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00371}00371                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00372}00372         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00373}00373                 panic(\textcolor{stringliteral}{"{}Unknown buftype"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00374}00374                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00375}00375         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00376}00376         start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00377}00377 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00378}00378 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00379}00379 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00380}\mbox{\hyperlink{mmc__xpt_8c_ab973c1c09ebe0a7c85a2beff5c67996f}{00380}} \mbox{\hyperlink{mmc__xpt_8c_ab973c1c09ebe0a7c85a2beff5c67996f}{mmc\_announce\_periph}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00381}00381 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00382}00382         \textcolor{keyword}{struct  }\mbox{\hyperlink{structccb__pathinq}{ccb\_pathinq}} cpi;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00383}00383         \textcolor{keyword}{struct  }\mbox{\hyperlink{structccb__trans__settings}{ccb\_trans\_settings}} \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00384}00384         \textcolor{keyword}{struct  }\mbox{\hyperlink{structcam__path}{cam\_path}} *path = \mbox{\hyperlink{structcam__path_af86a5c85f988da0c716d32729373e265}{periph}}-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00385}00385 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00386}00386         \mbox{\hyperlink{cam__periph_8h_a14a9062a3b53e1d1a2570a39695c2cd3}{cam\_periph\_assert}}(\mbox{\hyperlink{structcam__path_af86a5c85f988da0c716d32729373e265}{periph}}, MA\_OWNED);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00387}00387 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00388}00388         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{structcam__path_af86a5c85f988da0c716d32729373e265}{periph}}-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}}, (\textcolor{stringliteral}{"{}mmc\_announce\_periph"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00389}00389 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00390}00390         memset(\&\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}, 0, \textcolor{keyword}{sizeof}(\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00391}00391         \mbox{\hyperlink{cam__xpt_8c_a64b1b7434225c072f2d9379fe39e359c}{xpt\_setup\_ccb}}(\&\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}.ccb\_h, path, \mbox{\hyperlink{cam_8h_a29369d4bf711763f232c214158987e20}{CAM\_PRIORITY\_NORMAL}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00392}00392         \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}.ccb\_h.func\_code = \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca4031c8b4cb9702134c45aee99474c0e7}{XPT\_GET\_TRAN\_SETTINGS}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00393}00393         \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}.type = \mbox{\hyperlink{cam__ccb_8h_a3526bfdb7cfdc39394a04698667165b4a4f068cb2ffb428a817c1046cb3445301}{CTS\_TYPE\_CURRENT\_SETTINGS}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00394}00394         \mbox{\hyperlink{cam__xpt_8c_a6ef97382f5b1590b4d2d138516a63bcc}{xpt\_action}}((\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}}*)\&\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00395}00395         \textcolor{keywordflow}{if} ((\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}.ccb\_h.status \& \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a82f0d57eda0654067dc2db0c2a218caa}{CAM\_STATUS\_MASK}}) != \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00396}00396                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00397}00397         \mbox{\hyperlink{cam__xpt_8h_ae111c3fbe95a53d1bdb2f112d86b929b}{xpt\_path\_inq}}(\&cpi, \mbox{\hyperlink{structcam__path_af86a5c85f988da0c716d32729373e265}{periph}}-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00398}00398         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(path, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369abf04aaf5da3cac8fdf092e75a6b82da6}{CAM\_DEBUG\_INFO}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00399}00399             (\textcolor{stringliteral}{"{}XPT info: CLK \%04d, ...\(\backslash\)n"{}}, \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}.proto\_specific.mmc.\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.clock));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00400}00400 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00401}00401 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00402}00402 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00403}\mbox{\hyperlink{mmc__all_8h_a91870dd9986d065836d0111bed332cc2}{00403}} \mbox{\hyperlink{mmc__xpt_8c_a91870dd9986d065836d0111bed332cc2}{mmccam\_start\_discovery}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__sim}{cam\_sim}} *sim)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00404}00404 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00405}00405         \textcolor{keyword}{union }\mbox{\hyperlink{unionccb}{ccb}} *\mbox{\hyperlink{mmc__sim__if_8m_a3b75bbd1e046a488543d1dccdbcae16b}{ccb}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00406}00406         uint32\_t pathid;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00407}00407 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00408}00408         pathid = \mbox{\hyperlink{cam__sim_8h_a046f3a30bb47046dda5770947d1e0a80}{cam\_sim\_path}}(sim);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00409}00409         \mbox{\hyperlink{unionccb}{ccb}} = \mbox{\hyperlink{cam__xpt_8c_a17fe920aa9698f9b81b06f08d0140fb2}{xpt\_alloc\_ccb}}();}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00410}00410 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00411}00411         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00412}00412 \textcolor{comment}{         * We create a rescan request for BUS:0:0, since the card}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00413}00413 \textcolor{comment}{         * will be at lun 0.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00414}00414 \textcolor{comment}{         */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00415}00415         \textcolor{keywordflow}{if} (\mbox{\hyperlink{cam__xpt_8c_a29b31416ba01fbf7ab51c968bc637d30}{xpt\_create\_path}}(\&\mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, NULL, pathid,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00416}00416                 \textcolor{comment}{/* target */} 0, \textcolor{comment}{/* lun */} 0) != \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00417}00417                 \mbox{\hyperlink{cam__xpt_8c_af1e7540fc366b5cad2e58f29d1de0f60}{xpt\_free\_ccb}}(\mbox{\hyperlink{unionccb}{ccb}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00418}00418                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00419}00419         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00420}00420 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00421}00421         KASSERT(\mbox{\hyperlink{cam__xpt_8c_ae8682bfa68f98afecaa8e5a5dfcb9e74}{xpt\_path\_sim\_device}}(\mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}) != NULL,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00422}00422             (\textcolor{stringliteral}{"{}\%s(\%s): device is not initialized on sim's path"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00423}00423             \_\_func\_\_, \mbox{\hyperlink{cam__sim_8h_af072fac14801b2861497672e4459c8c1}{cam\_sim\_name}}(sim)));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00424}00424         \mbox{\hyperlink{cam__xpt_8c_a44ae64d5b5cc896268ac6b55f016b290}{xpt\_rescan}}(\mbox{\hyperlink{unionccb}{ccb}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00425}00425 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00426}00426 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00427}00427 \textcolor{comment}{/* This func is called per attached device :-\/( */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00428}00428 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00429}\mbox{\hyperlink{mmc__xpt_8c_a173b64228f336e3f1b58680591f84f49}{00429}} \mbox{\hyperlink{mmc__xpt_8c_a173b64228f336e3f1b58680591f84f49}{mmc\_print\_ident}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmmc__params}{mmc\_params}} *ident\_data, \textcolor{keyword}{struct} sbuf *sb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00430}00430 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00431}00431         \textcolor{keywordtype}{bool} space = \textcolor{keyword}{false};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00432}00432 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00433}00433         sbuf\_printf(sb, \textcolor{stringliteral}{"{}Relative addr: \%08x\(\backslash\)n"{}}, ident\_data-\/>\mbox{\hyperlink{structmmc__params_aa63066700cf88f02aad30e378f386a23}{card\_rca}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00434}00434         sbuf\_printf(sb, \textcolor{stringliteral}{"{}Card features: <"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00435}00435         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_ae502d8099a7956959b6bf93bac0009ad}{CARD\_FEATURE\_MMC}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00436}00436                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}MMC"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00437}00437                 space = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00438}00438         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00439}00439         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_a6ca3cddf29f29482728a3e1be1604435}{CARD\_FEATURE\_MEMORY}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00440}00440                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}\%sMemory"{}}, space ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00441}00441                 space = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00442}00442         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00443}00443         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_a31af3df3316f3816ab8b744fb7dc4444}{CARD\_FEATURE\_SDHC}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00444}00444                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}\%sHigh-\/Capacity"{}}, space ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00445}00445                 space = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00446}00446         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00447}00447         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_a98053f314b3afb0f7c08b949346e8eb6}{CARD\_FEATURE\_SD20}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00448}00448                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}\%sSD2.0-\/Conditions"{}}, space ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00449}00449                 space = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00450}00450         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00451}00451         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_ab161757250c148cfb11f3a4097a95f19}{CARD\_FEATURE\_SDIO}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00452}00452                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}\%sSDIO"{}}, space ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00453}00453                 space = \textcolor{keyword}{true};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00454}00454         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00455}00455         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_aa0e6607117821ce84ecbd8cb92d13cde}{CARD\_FEATURE\_18V}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00456}00456                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}\%s1.8-\/Signaling"{}}, space ? \textcolor{stringliteral}{"{} "{}} : \textcolor{stringliteral}{"{}"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00457}00457         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00458}00458         sbuf\_printf(sb, \textcolor{stringliteral}{"{}>\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00459}00459 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00460}00460         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_a6ca3cddf29f29482728a3e1be1604435}{CARD\_FEATURE\_MEMORY}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00461}00461                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}Card memory OCR: \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00462}00462                     ident\_data-\/>\mbox{\hyperlink{structmmc__params_a1af5fc7c586179e9b3f3cfcaab66d2c9}{card\_ocr}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00463}00463 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00464}00464         \textcolor{keywordflow}{if} (ident\_data-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_ab161757250c148cfb11f3a4097a95f19}{CARD\_FEATURE\_SDIO}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00465}00465                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}Card IO OCR: \%08x\(\backslash\)n"{}}, ident\_data-\/>\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00466}00466                 sbuf\_printf(sb, \textcolor{stringliteral}{"{}Number of functions: \%u\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00467}00467                     ident\_data-\/>\mbox{\hyperlink{structmmc__params_a35cd9bd4a39267ffd6319f431663693d}{sdio\_func\_count}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00468}00468         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00469}00469 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00470}00470         sbuf\_finish(sb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00471}00471         printf(\textcolor{stringliteral}{"{}\%s"{}}, sbuf\_data(sb));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00472}00472         sbuf\_clear(sb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00473}00473 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00474}00474 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00475}00475 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00476}\mbox{\hyperlink{mmc__xpt_8c_af51be5eab7e51f54865d0d8869c2789a}{00476}} \mbox{\hyperlink{mmc__xpt_8c_af51be5eab7e51f54865d0d8869c2789a}{mmc\_proto\_announce}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00477}00477 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00478}00478         \textcolor{keyword}{struct }sbuf     sb;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00479}00479         \textcolor{keywordtype}{char}            buffer[256];}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00480}00480 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00481}00481         sbuf\_new(\&sb, buffer, \textcolor{keyword}{sizeof}(buffer), SBUF\_FIXEDLEN);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00482}00482         \mbox{\hyperlink{mmc__xpt_8c_a173b64228f336e3f1b58680591f84f49}{mmc\_print\_ident}}(\&device-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}, \&sb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00483}00483         sbuf\_finish(\&sb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00484}00484         sbuf\_putbuf(\&sb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00485}00485 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00486}00486 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00487}00487 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00488}\mbox{\hyperlink{mmc__xpt_8c_a2d6de3a463bfafefef64718848124651}{00488}} \mbox{\hyperlink{mmc__xpt_8c_a2d6de3a463bfafefef64718848124651}{mmc\_proto\_denounce}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__ed}{cam\_ed}} *device)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00489}00489 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00490}00490 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00491}00491         \mbox{\hyperlink{mmc__xpt_8c_af51be5eab7e51f54865d0d8869c2789a}{mmc\_proto\_announce}}(device);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00492}00492 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00493}00493 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00494}00494 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00495}\mbox{\hyperlink{mmc__xpt_8c_a6a4100441a807b256ce6e14540c6eaa8}{00495}} \mbox{\hyperlink{mmc__xpt_8c_a6a4100441a807b256ce6e14540c6eaa8}{mmc\_proto\_debug\_out}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *\mbox{\hyperlink{unionccb}{ccb}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00496}00496 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00497}00497         \textcolor{keywordflow}{if} (\mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}} != \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00498}00498                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00499}00499 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00500}00500         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(\mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00501}00501             \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a453728712d1f84273c884defe7aa32ec}{CAM\_DEBUG\_CDB}},(\textcolor{stringliteral}{"{}mmc\_proto\_debug\_out\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00502}00502 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00503}00503 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00504}\mbox{\hyperlink{mmc__xpt_8c_a85b314be8f96ce4595d85543bb6c81d0}{00504}} \textcolor{keyword}{static} \mbox{\hyperlink{cam__periph_8h_ae8635482322b2513ab2f662535250ac0}{periph\_init\_t}} \mbox{\hyperlink{mmc__xpt_8c_a85b314be8f96ce4595d85543bb6c81d0}{probe\_periph\_init}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00505}00505 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00506}\mbox{\hyperlink{mmc__xpt_8c_a8750cd6680f8e0825cc1ed552c1bca5b}{00506}} \textcolor{keyword}{static} \textcolor{keyword}{struct }\mbox{\hyperlink{structperiph__driver}{periph\_driver}} \mbox{\hyperlink{mmc__xpt_8c_a8750cd6680f8e0825cc1ed552c1bca5b}{probe\_driver}} =}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00507}00507 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00508}00508         \mbox{\hyperlink{mmc__xpt_8c_a85b314be8f96ce4595d85543bb6c81d0}{probe\_periph\_init}}, \textcolor{stringliteral}{"{}mmcprobe"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00509}00509         TAILQ\_HEAD\_INITIALIZER(\mbox{\hyperlink{mmc__xpt_8c_a8750cd6680f8e0825cc1ed552c1bca5b}{probe\_driver}}.units), \textcolor{comment}{/* generation */} 0,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00510}00510         \mbox{\hyperlink{cam__periph_8h_a33b94a2f646c305ba7ca727acb938254}{CAM\_PERIPH\_DRV\_EARLY}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00511}00511 \};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00512}00512 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00513}\mbox{\hyperlink{mmc__xpt_8c_a70a77996de02a92bc60a0b33aa54a01f}{00513}} \mbox{\hyperlink{mmc__xpt_8c_a70a77996de02a92bc60a0b33aa54a01f}{PERIPHDRIVER\_DECLARE}}(mmcprobe, \mbox{\hyperlink{mmc__xpt_8c_a8750cd6680f8e0825cc1ed552c1bca5b}{probe\_driver}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00514}00514 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00515}\mbox{\hyperlink{mmc__xpt_8c_a54512df40f0b52c560f33c70a4e8114c}{00515}} \textcolor{preprocessor}{\#define CARD\_ID\_FREQUENCY 400000 }\textcolor{comment}{/* Spec requires 400kHz max during ID phase. */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00516}00516 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00517}00517 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00518}00518 \mbox{\hyperlink{mmc__xpt_8c_a85b314be8f96ce4595d85543bb6c81d0}{probe\_periph\_init}}(\textcolor{keywordtype}{void})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00519}00519 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00520}00520 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00521}00521 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00522}00522 \textcolor{keyword}{static} \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\_status}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00523}\mbox{\hyperlink{mmc__xpt_8c_a964a9296f928b9064d82bfcea636b1fb}{00523}} \mbox{\hyperlink{mmc__xpt_8c_a964a9296f928b9064d82bfcea636b1fb}{mmcprobe\_register}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keywordtype}{void} *arg)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00524}00524 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00525}00525         \mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *softc;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00526}00526         \textcolor{keyword}{union }\mbox{\hyperlink{unionccb}{ccb}} *request\_ccb;      \textcolor{comment}{/* CCB representing the probe request */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00527}00527         \textcolor{keywordtype}{int} status;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00528}00528 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00529}00529         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a079361ad1b93ba7c851ca5ca4762ecd1}{CAM\_DEBUG\_TRACE}}, (\textcolor{stringliteral}{"{}mmcprobe\_register\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00530}00530 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00531}00531         request\_ccb = (\textcolor{keyword}{union }\mbox{\hyperlink{unionccb}{ccb}} *)arg;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00532}00532         \textcolor{keywordflow}{if} (request\_ccb == NULL) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00533}00533                 printf(\textcolor{stringliteral}{"{}mmcprobe\_register: no probe CCB, "{}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00534}00534                        \textcolor{stringliteral}{"{}can't register device\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00535}00535                 \textcolor{keywordflow}{return}(\mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a7c519e8cfabb5fd17f4d518c82c17692}{CAM\_REQ\_CMP\_ERR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00536}00536         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00537}00537 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00538}00538         softc = (\mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *)malloc(\textcolor{keyword}{sizeof}(*softc), M\_CAMXPT, M\_NOWAIT);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00539}00539 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00540}00540         \textcolor{keywordflow}{if} (softc == NULL) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00541}00541                 printf(\textcolor{stringliteral}{"{}proberegister: Unable to probe new device. "{}}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00542}00542                        \textcolor{stringliteral}{"{}Unable to allocate softc\(\backslash\)n"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00543}00543                 \textcolor{keywordflow}{return}(\mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a7c519e8cfabb5fd17f4d518c82c17692}{CAM\_REQ\_CMP\_ERR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00544}00544         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00545}00545 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00546}00546         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00547}00547         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a0f9221a41f7f6061c95ab340fd99aec9}{acmd41\_count}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00548}00548         periph-\/>\mbox{\hyperlink{structcam__periph_a6ba6ec6ae18e7f5935209ff5ca9ba385}{softc}} = softc;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00549}00549         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a88274470b9e2b23250aea83b36648ace}{periph}} = periph;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00550}00550         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} = \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00551}00551         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_af24ff944b435679837109df6436d66fa}{restart}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00552}00552         status = \mbox{\hyperlink{cam__periph_8c_a5b3dbda06d83cc62f5ba1be9622efa4b}{cam\_periph\_acquire}}(periph);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00553}00553 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00554}00554         memset(\&periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}, 0, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} \mbox{\hyperlink{structmmc__params}{mmc\_params}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00555}00555         \textcolor{keywordflow}{if} (status != 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00556}00556                 printf(\textcolor{stringliteral}{"{}proberegister: cam\_periph\_acquire failed (status=\%d)\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00557}00557                         status);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00558}00558                 \textcolor{keywordflow}{return} (\mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a7c519e8cfabb5fd17f4d518c82c17692}{CAM\_REQ\_CMP\_ERR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00559}00559         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00560}00560         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}Probe started\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00561}00561 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00562}00562         \textcolor{keywordflow}{if} (periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00563}00563                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{PROBE\_RESET}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00564}00564         \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00565}00565                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{PROBE\_IDENTIFY}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00566}00566 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00567}00567         \textcolor{comment}{/* This will kick the ball */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00568}00568         \mbox{\hyperlink{cam__xpt_8c_a26e646d0732b4acab4667d28f24d026e}{xpt\_schedule}}(periph, \mbox{\hyperlink{cam_8h_a987088dd2ae7bcf2ccb0fd12eabcc08f}{CAM\_PRIORITY\_XPT}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00569}00569 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00570}00570         \textcolor{keywordflow}{return}(\mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00571}00571 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00572}00572 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00573}00573 \textcolor{keyword}{static} \textcolor{keywordtype}{int}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00574}\mbox{\hyperlink{mmc__xpt_8c_a34b37fb803e72595af8826d105e18a2f}{00574}} \mbox{\hyperlink{mmc__xpt_8c_a34b37fb803e72595af8826d105e18a2f}{mmc\_highest\_voltage}}(uint32\_t ocr)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00575}00575 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00576}00576         \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00577}00577 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00578}00578         \textcolor{keywordflow}{for} (i = MMC\_OCR\_MAX\_VOLTAGE\_SHIFT;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00579}00579             i >= MMC\_OCR\_MIN\_VOLTAGE\_SHIFT; i-\/-\/)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00580}00580                 \textcolor{keywordflow}{if} (ocr \& (1 << i))}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00581}00581                         \textcolor{keywordflow}{return} (i);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00582}00582         \textcolor{keywordflow}{return} (-\/1);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00583}00583 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00584}00584 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00585}00585 \textcolor{keyword}{static} \textcolor{keyword}{inline} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00586}\mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{00586}} \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(\textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *\mbox{\hyperlink{unionccb}{ccb}}, uint32\_t cmd)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00587}00587 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00588}00588         \mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}} = cmd;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00589}00589         \mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a2b92b9f93c185a3bcd5da48c751c0c05}{flags}} = \mbox{\hyperlink{cam__ccb_8h_a8a331ca6ae1e86223b907c974ef6b676adf60a86f59d84768dceb1af379c0dc3a}{CAM\_DIR\_OUT}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00590}00590         \mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_af69c58b4653ec0977d4ccfe89e30cfad}{retry\_count}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00591}00591         \mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_aafcc3aaf269bd00196097aa9ef85dd9b}{timeout}} = 15 * 1000;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00592}00592         \mbox{\hyperlink{unionccb}{ccb}}-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_afe206cd92d25dfd137df5196cdfcfdae}{cbfcnp}} = \mbox{\hyperlink{mmc__xpt_8c_a3c1115749b9ee60de705c5e2683eaa27}{mmcprobe\_done}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00593}00593 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00594}00594 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00595}00595 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00596}\mbox{\hyperlink{mmc__xpt_8c_a927b63128d862f6f27b00b663d5fbd67}{00596}} \mbox{\hyperlink{mmc__xpt_8c_a927b63128d862f6f27b00b663d5fbd67}{mmcprobe\_start}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *start\_ccb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00597}00597 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00598}00598         \mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *softc;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00599}00599         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__path}{cam\_path}} *path;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00600}00600         \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__mmcio}{ccb\_mmcio}} *mmcio;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00601}00601         \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__trans__settings__mmc}{ccb\_trans\_settings\_mmc}} *\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00602}00602 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00603}00603         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}mmcprobe\_start\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00604}00604         softc = (\mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *)periph-\/>\mbox{\hyperlink{structcam__periph_a6ba6ec6ae18e7f5935209ff5ca9ba385}{softc}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00605}00605         path = start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00606}00606         mmcio = \&start\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00607}00607         \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}} = \&start\_ccb-\/>\mbox{\hyperlink{unionccb_a49ca2523da352ce13d213ca3881a126b}{cts}}.\mbox{\hyperlink{structccb__trans__settings_aeb168f5bdb4329b47397670aae9bd2f9}{proto\_specific}}.\mbox{\hyperlink{structccb__trans__settings_ad24f59699726f62e474172bff48e575e}{mmc}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00608}00608         \textcolor{keyword}{struct} \mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00609}00609 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00610}00610         memset(\&mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}, 0, \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct} mmc\_command));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00611}00611 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00612}00612         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_af24ff944b435679837109df6436d66fa}{restart}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00613}00613                 softc-\/>\mbox{\hyperlink{structmmcprobe__softc_af24ff944b435679837109df6436d66fa}{restart}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00614}00614                 \textcolor{keywordflow}{if} (path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00615}00615                         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} = \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{PROBE\_RESET}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00616}00616                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00617}00617                         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} = \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{PROBE\_IDENTIFY}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00618}00618         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00619}00619 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00620}00620         \textcolor{comment}{/* Here is the place where the identify fun begins */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00621}00621         \textcolor{keywordflow}{switch} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00622}00622         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{PROBE\_RESET}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00623}00623                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}Start with PROBE\_RESET\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00624}00624                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00625}00625         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{PROBE\_IDENTIFY}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00626}00626                 \mbox{\hyperlink{cam__xpt_8h_ae111c3fbe95a53d1bdb2f112d86b929b}{xpt\_path\_inq}}(\&start\_ccb-\/>\mbox{\hyperlink{unionccb_af5f8e018edd68ac4078165c32ef6aa82}{cpi}}, periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00627}00627                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}Start with PROBE\_IDENTIFY\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00628}00628                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca708c0b638548ebfed0b3efbefa903cf5}{XPT\_MMC\_GET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00629}00629                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00630}00630 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00631}00631         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa062f70e64bb88238c8aabb036880cc56}{PROBE\_POWER\_OFF}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00632}00632                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}power off the card\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00633}00633                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055cadc6fc7dd55d201d1f350ad207f393022}{XPT\_MMC\_SET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00634}00634                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.power\_mode = power\_off;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00635}00635                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_ade4a132b1c63461f17177ae623db225e}{MMC\_PM}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00636}00636                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00637}00637 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00638}00638         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1c2ee9503cdea578523a2f025c7b3e83}{PROBE\_GET\_HOST\_OCR}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00639}00639                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}get the host ocr\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00640}00640                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca708c0b638548ebfed0b3efbefa903cf5}{XPT\_MMC\_GET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00641}00641                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00642}00642 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00643}00643         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8934734e984d2939cb48493cdb9978fe}{PROBE\_RESET\_BUS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00644}00644         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00645}00645                 uint32\_t \mbox{\hyperlink{structccb__trans__settings__mmc_a9496cd8f2246438e52cf20e3c1118fc3}{host\_caps}} = \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a9496cd8f2246438e52cf20e3c1118fc3}{host\_caps}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00646}00646                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{structccb__trans__settings__mmc_a9496cd8f2246438e52cf20e3c1118fc3}{host\_caps}} \& \mbox{\hyperlink{cam__ccb_8h_a85a2f435922dce3d5076ff418a0d82ee}{MMC\_CAP\_SIGNALING\_180}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00647}00647                         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} |= \mbox{\hyperlink{mmc__xpt_8c_a9f4ae4da2d5ac736ebc095d4ae213e42}{PROBE\_FLAG\_HOST\_CAN\_DO\_18V}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00648}00648                 uint32\_t hv = \mbox{\hyperlink{mmc__xpt_8c_a34b37fb803e72595af8826d105e18a2f}{mmc\_highest\_voltage}}(softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a38ce7d818143f9eb4d5b71dd5093bb98}{host\_ocr}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00649}00649                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}reseting the bus\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00650}00650                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055cadc6fc7dd55d201d1f350ad207f393022}{XPT\_MMC\_SET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00651}00651                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.vdd = hv;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00652}00652                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.bus\_mode = opendrain;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00653}00653                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.chip\_select = cs\_dontcare;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00654}00654                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.power\_mode = power\_up;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00655}00655                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.bus\_width = bus\_width\_1;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00656}00656                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.clock = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00657}00657                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_aa9c6ba7ed0c77f622d3cbb9877edbc8f}{MMC\_VDD}} | \mbox{\hyperlink{cam__ccb_8h_ade4a132b1c63461f17177ae623db225e}{MMC\_PM}} | \mbox{\hyperlink{cam__ccb_8h_a64b8a90bb7dc9cc2d1f3df43387fe2d4}{MMC\_BM}} |}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00658}00658                         \mbox{\hyperlink{cam__ccb_8h_a93b0c2419ecdaa96abf8ffb817e8cfa2}{MMC\_CS}} | \mbox{\hyperlink{cam__ccb_8h_aa38ad23eac296a3477d576993b1953aa}{MMC\_BW}} | \mbox{\hyperlink{cam__ccb_8h_aeaab2f0099f6495fa5b2911d9fa8f794}{MMC\_CLK}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00659}00659                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00660}00660         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00661}00661 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00662}00662         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf38a19ce116ebf765e9b1ae7ef70886a}{PROBE\_SET\_ID\_FREQ}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00663}00663                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}setting the ID freq\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00664}00664                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055cadc6fc7dd55d201d1f350ad207f393022}{XPT\_MMC\_SET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00665}00665                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.power\_mode = power\_on;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00666}00666                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.clock = \mbox{\hyperlink{mmc__xpt_8c_a54512df40f0b52c560f33c70a4e8114c}{CARD\_ID\_FREQUENCY}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00667}00667                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.timing = bus\_timing\_normal;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00668}00668                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_ade4a132b1c63461f17177ae623db225e}{MMC\_PM}} | \mbox{\hyperlink{cam__ccb_8h_aeaab2f0099f6495fa5b2911d9fa8f794}{MMC\_CLK}} | \mbox{\hyperlink{cam__ccb_8h_ab1f9741c9fb5c919c2c7811a8089f935}{MMC\_BT}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00669}00669                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00670}00670 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00671}00671         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faadc2770b2ee1a0bd91223259649694e5}{PROBE\_SET\_CS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00672}00672                 \textcolor{comment}{/* Begin mmc\_idle\_cards() */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00673}00673                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055cadc6fc7dd55d201d1f350ad207f393022}{XPT\_MMC\_SET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00674}00674                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.chip\_select = cs\_high;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00675}00675                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_a93b0c2419ecdaa96abf8ffb817e8cfa2}{MMC\_CS}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00676}00676                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00677}00677 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00678}00678         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8219f2a133e600295ee38cf3e63e8a1f}{PROBE\_GO\_IDLE\_STATE}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00679}00679                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}Send first XPT\_MMC\_IO\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00680}00680                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00681}00681                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_GO\_IDLE\_STATE; \textcolor{comment}{/* CMD 0 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00682}00682                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00683}00683                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_NONE | MMC\_CMD\_BC;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00684}00684                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.data = NULL;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00685}00685                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00686}00686 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00687}00687                 \textcolor{comment}{/* XXX Reset I/O portion as well */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00688}00688                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00689}00689 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00690}00690         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2438c3dd0ac78850d07cae1199c6b84d}{PROBE\_SDIO\_RESET}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00691}00691                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00692}00692                           (\textcolor{stringliteral}{"{}Start with PROBE\_SDIO\_RESET\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00693}00693                 uint32\_t mmc\_arg = SD\_IO\_RW\_ADR(SD\_IO\_CCCR\_CTL)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00694}00694                         | SD\_IO\_RW\_DAT(CCCR\_CTL\_RES) | SD\_IO\_RW\_WR | SD\_IO\_RW\_RAW;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00695}00695                 \mbox{\hyperlink{cam__ccb_8h_a7531e1d0a45f7468057d52c9f1cc8c93}{cam\_fill\_mmcio}}(\&start\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00696}00696                                \textcolor{comment}{/*retries*/} 0,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00697}00697                                \textcolor{comment}{/*cbfcnp*/} \mbox{\hyperlink{mmc__xpt_8c_a3c1115749b9ee60de705c5e2683eaa27}{mmcprobe\_done}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00698}00698                                \textcolor{comment}{/*flags*/} \mbox{\hyperlink{cam__ccb_8h_a8a331ca6ae1e86223b907c974ef6b676a17c5461f834828a5af4980b5ac3a375d}{CAM\_DIR\_NONE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00699}00699                                \textcolor{comment}{/*mmc\_opcode*/} SD\_IO\_RW\_DIRECT,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00700}00700                                \textcolor{comment}{/*mmc\_arg*/} mmc\_arg,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00701}00701                                \textcolor{comment}{/*mmc\_flags*/} MMC\_RSP\_R5 | MMC\_CMD\_AC,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00702}00702                                \textcolor{comment}{/*mmc\_data*/} NULL,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00703}00703                                \textcolor{comment}{/*timeout*/} 1000);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00704}00704                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00705}00705         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa421776c98dd83842a7169cb6ee5cff34}{PROBE\_SEND\_IF\_COND}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00706}00706                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00707}00707                           (\textcolor{stringliteral}{"{}Start with PROBE\_SEND\_IF\_COND\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00708}00708                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00709}00709                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = SD\_SEND\_IF\_COND; \textcolor{comment}{/* CMD 8 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00710}00710                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = (1 << 8) + 0xAA;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00711}00711                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R7 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00712}00712                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00713}00713                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00714}00714 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00715}00715         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa83b51ecd2fcc485fc1598b1c71baa28a}{PROBE\_SDIO\_INIT}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00716}00716                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00717}00717                           (\textcolor{stringliteral}{"{}Start with PROBE\_SDIO\_INIT\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00718}00718                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00719}00719                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = IO\_SEND\_OP\_COND; \textcolor{comment}{/* CMD 5 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00720}00720                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = mmcp-\/>io\_ocr;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00721}00721                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R4;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00722}00722                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00723}00723                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00724}00724 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00725}00725         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa18dffb43ac621a7e85e4e3221382e7e2}{PROBE\_MMC\_INIT}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00726}00726                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00727}00727                           (\textcolor{stringliteral}{"{}Start with PROBE\_MMC\_INIT\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00728}00728                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00729}00729                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_SEND\_OP\_COND; \textcolor{comment}{/* CMD 1 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00730}00730                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = MMC\_OCR\_CCS | mmcp-\/>card\_ocr; \textcolor{comment}{/* CCS + ocr */};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00731}00731                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R3 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00732}00732                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00733}00733                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00734}00734 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00735}00735         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00736}00736                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00737}00737                 \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} \& \mbox{\hyperlink{mmc__xpt_8c_ae5bf7f8322a2a4cafd6f3d2531771ea6}{PROBE\_FLAG\_ACMD\_SENT}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00738}00738                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = ACMD\_SD\_SEND\_OP\_COND; \textcolor{comment}{/* CMD 41 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00739}00739                         \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00740}00740 \textcolor{comment}{                         * We set CCS bit because we do support SDHC cards.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00741}00741 \textcolor{comment}{                         * XXX: Don't set CCS if no response to CMD8.}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00742}00742 \textcolor{comment}{                         */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00743}00743                         uint32\_t cmd\_arg = MMC\_OCR\_CCS | mmcp-\/>card\_ocr; \textcolor{comment}{/* CCS + ocr */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00744}00744                         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a0f9221a41f7f6061c95ab340fd99aec9}{acmd41\_count}} < 10 \&\& mmcp-\/>card\_ocr != 0 )}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00745}00745                                 cmd\_arg |= MMC\_OCR\_S18R;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00746}00746                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = cmd\_arg;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00747}00747                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R3 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00748}00748                         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a0f9221a41f7f6061c95ab340fd99aec9}{acmd41\_count}}++;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00749}00749                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00750}00750                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_APP\_CMD; \textcolor{comment}{/* CMD 55 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00751}00751                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = 0; \textcolor{comment}{/* rca << 16 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00752}00752                         mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R1 | MMC\_CMD\_AC;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00753}00753                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00754}00754                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00755}00755                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00756}00756 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00757}00757         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{PROBE\_GET\_CID}}: \textcolor{comment}{/* XXX move to mmc\_da */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00758}00758                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00759}00759                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_ALL\_SEND\_CID;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00760}00760                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00761}00761                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R2 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00762}00762                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00763}00763                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00764}00764         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{PROBE\_SEND\_RELATIVE\_ADDR}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00765}00765                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00766}00766                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = SD\_SEND\_RELATIVE\_ADDR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00767}00767                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00768}00768                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R6 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00769}00769                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00770}00770                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00771}00771         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab1b02c2bfc9d84d3257870eb90bdb2a0}{PROBE\_MMC\_SET\_RELATIVE\_ADDR}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00772}00772                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00773}00773                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_SET\_RELATIVE\_ADDR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00774}00774                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = \mbox{\hyperlink{mmc_8h_add0f1eba7f38f3d6fd6ed97a1b3e00b3}{MMC\_PROPOSED\_RCA}} << 16;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00775}00775                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R1 | MMC\_CMD\_AC;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00776}00776                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00777}00777                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00778}00778         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{PROBE\_SELECT\_CARD}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00779}00779                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00780}00780                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_SELECT\_CARD;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00781}00781                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = (uint32\_t)path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}.\mbox{\hyperlink{structmmc__params_aa63066700cf88f02aad30e378f386a23}{card\_rca}} << 16;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00782}00782                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R1B | MMC\_CMD\_AC;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00783}00783                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00784}00784                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00785}00785         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{PROBE\_GET\_CSD}}: \textcolor{comment}{/* XXX move to mmc\_da */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00786}00786                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca7c4cd1252b7b90f1c1aaf01cb6240fd8}{XPT\_MMC\_IO}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00787}00787                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.opcode = MMC\_SEND\_CSD;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00788}00788                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg = (uint32\_t)path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}.\mbox{\hyperlink{structmmc__params_aa63066700cf88f02aad30e378f386a23}{card\_rca}} << 16;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00789}00789                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.flags = MMC\_RSP\_R2 | MMC\_CMD\_BCR;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00790}00790                 mmcio-\/>\mbox{\hyperlink{structccb__mmcio_a0783c59c8cd04dd221403249d15dfac2}{stop}}.opcode = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00791}00791                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00792}00792         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{PROBE\_DONE}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00793}00793                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}Start with PROBE\_DONE\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00794}00794                 \mbox{\hyperlink{mmc__xpt_8c_a637bd9169af7a4344a1907ed2a47e430}{init\_standard\_ccb}}(start\_ccb, \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca809010667fe314b6a4af69f3fef6bc9f}{XPT\_SET\_TRAN\_SETTINGS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00795}00795                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.bus\_mode = pushpull;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00796}00796                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_a64b8a90bb7dc9cc2d1f3df43387fe2d4}{MMC\_BM}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00797}00797                 \mbox{\hyperlink{cam__xpt_8c_a6ef97382f5b1590b4d2d138516a63bcc}{xpt\_action}}(start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00798}00798                 \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00799}00799                 \textcolor{comment}{/* NOTREACHED */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00800}00800                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00801}00801         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00802}00802                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00803}00803         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00804}00804                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}probestart: invalid action state 0x\%x\(\backslash\)n"{}}, softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00805}00805                 panic(\textcolor{stringliteral}{"{}default: case in mmc\_probe\_start()"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00806}00806         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00807}00807 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00808}00808         start\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a2b92b9f93c185a3bcd5da48c751c0c05}{flags}} |= \mbox{\hyperlink{cam__ccb_8h_a8a331ca6ae1e86223b907c974ef6b676a9d1d789b9d7dccd1083a984b9c22f5fb}{CAM\_DEV\_QFREEZE}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00809}00809         \mbox{\hyperlink{cam__xpt_8c_a6ef97382f5b1590b4d2d138516a63bcc}{xpt\_action}}(start\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00810}00810 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00811}00811 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00812}\mbox{\hyperlink{mmc__xpt_8c_ad10ea3a1747023de4b746ca03c1aff7b}{00812}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{mmc__xpt_8c_ad10ea3a1747023de4b746ca03c1aff7b}{mmcprobe\_cleanup}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00813}00813 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00814}00814         free(periph-\/>\mbox{\hyperlink{structcam__periph_a6ba6ec6ae18e7f5935209ff5ca9ba385}{softc}}, M\_CAMXPT);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00815}00815 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00816}00816 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00817}00817 \textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00818}\mbox{\hyperlink{mmc__xpt_8c_a3c1115749b9ee60de705c5e2683eaa27}{00818}} \mbox{\hyperlink{mmc__xpt_8c_a3c1115749b9ee60de705c5e2683eaa27}{mmcprobe\_done}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structcam__periph}{cam\_periph}} *periph, \textcolor{keyword}{union} \mbox{\hyperlink{unionccb}{ccb}} *done\_ccb)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00819}00819 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00820}00820         \mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *softc;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00821}00821         \textcolor{keyword}{struct }\mbox{\hyperlink{structcam__path}{cam\_path}} *path;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00822}00822 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00823}00823         \textcolor{keywordtype}{int} err;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00824}00824         \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__mmcio}{ccb\_mmcio}} *mmcio;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00825}00825         u\_int32\_t  priority;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00826}00826 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00827}00827         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}mmcprobe\_done\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00828}00828         softc = (\mbox{\hyperlink{structmmcprobe__softc}{mmcprobe\_softc}} *)periph-\/>\mbox{\hyperlink{structcam__periph_a6ba6ec6ae18e7f5935209ff5ca9ba385}{softc}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00829}00829         path = done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00830}00830         priority = done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a5f28f6d8f0a215f677b69fb9c04caf8c}{pinfo}}.\mbox{\hyperlink{structcam__pinfo_a006313c394eb385f8f4aa130f6a9d213}{priority}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00831}00831 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00832}00832         switch (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00833}00833         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabdecf74783ce6ebd982f96e4305eb9a9}{PROBE\_RESET}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00834}00834                 \textcolor{comment}{/* FALLTHROUGH */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00835}00835         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2e37d85dbe5e77e219a22c28049a4654}{PROBE\_IDENTIFY}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00836}00836         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00837}00837                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_RESET\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00838}00838                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa062f70e64bb88238c8aabb036880cc56}{PROBE\_POWER\_OFF}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00839}00839                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00840}00840         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00841}00841         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa062f70e64bb88238c8aabb036880cc56}{PROBE\_POWER\_OFF}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00842}00842         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00843}00843                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_POWER\_OFF\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00844}00844                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1c2ee9503cdea578523a2f025c7b3e83}{PROBE\_GET\_HOST\_OCR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00845}00845                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00846}00846         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00847}00847         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1c2ee9503cdea578523a2f025c7b3e83}{PROBE\_GET\_HOST\_OCR}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00848}00848         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00849}00849                 \textcolor{keyword}{struct }\mbox{\hyperlink{structccb__trans__settings__mmc}{ccb\_trans\_settings\_mmc}} *\mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00850}00850                 \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}} = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a49ca2523da352ce13d213ca3881a126b}{cts}}.\mbox{\hyperlink{structccb__trans__settings_aeb168f5bdb4329b47397670aae9bd2f9}{proto\_specific}}.\mbox{\hyperlink{structccb__trans__settings_ad24f59699726f62e474172bff48e575e}{mmc}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00851}00851                 softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a38ce7d818143f9eb4d5b71dd5093bb98}{host\_ocr}} = \mbox{\hyperlink{mmc__sim__if_8m_aaa2434533339a541b323777f3b4d1ea9}{cts}}-\/>\mbox{\hyperlink{structccb__trans__settings__mmc_af0d55dc372f2a6e2e7ff5c0c0b81b755}{host\_ocr}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00852}00852                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_GET\_HOST\_OCR (Got OCR=\%x\(\backslash\)n"{}}, softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a38ce7d818143f9eb4d5b71dd5093bb98}{host\_ocr}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00853}00853                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8934734e984d2939cb48493cdb9978fe}{PROBE\_RESET\_BUS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00854}00854                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00855}00855         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00856}00856         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8934734e984d2939cb48493cdb9978fe}{PROBE\_RESET\_BUS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00857}00857         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00858}00858                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_RESET\_BUS\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00859}00859                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf38a19ce116ebf765e9b1ae7ef70886a}{PROBE\_SET\_ID\_FREQ}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00860}00860                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00861}00861         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00862}00862         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf38a19ce116ebf765e9b1ae7ef70886a}{PROBE\_SET\_ID\_FREQ}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00863}00863         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00864}00864                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_SET\_ID\_FREQ\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00865}00865                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faadc2770b2ee1a0bd91223259649694e5}{PROBE\_SET\_CS}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00866}00866                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00867}00867         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00868}00868         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faadc2770b2ee1a0bd91223259649694e5}{PROBE\_SET\_CS}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00869}00869         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00870}00870                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_SET\_CS\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00871}00871                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8219f2a133e600295ee38cf3e63e8a1f}{PROBE\_GO\_IDLE\_STATE}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00872}00872                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00873}00873         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00874}00874         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa8219f2a133e600295ee38cf3e63e8a1f}{PROBE\_GO\_IDLE\_STATE}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00875}00875         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00876}00876                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}}, (\textcolor{stringliteral}{"{}done with PROBE\_GO\_IDLE\_STATE\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00877}00877                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00878}00878                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00879}00879 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00880}00880                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00881}00881                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00882}00882                                   (\textcolor{stringliteral}{"{}GO\_IDLE\_STATE failed with error \%d\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00883}00883                                    err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00884}00884 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00885}00885                         \textcolor{comment}{/* There was a device there, but now it's gone... */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00886}00886                         \textcolor{keywordflow}{if} ((path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}}) == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00887}00887                                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00888}00888                                   (\textcolor{stringliteral}{"{}Device lost!\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00889}00889 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00890}00890                                 \mbox{\hyperlink{cam__xpt_8c_a60a033db88b93c6492304499e81774c0}{xpt\_async}}(\mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0ac3008f99f93ca1448f9c8705b1653da5}{AC\_LOST\_DEVICE}}, path, NULL);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00891}00891                         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00892}00892                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00893}00893                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00894}00894                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00895}00895                 path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_ac6da2e04833b965e68d91bcdd13e94c5}{protocol}} = \mbox{\hyperlink{cam__ccb_8h_a283e001579038402a95e23bef57107e8a982a0b7e7a81cd9adcbcab95e3698b4b}{PROTO\_MMCSD}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00896}00896                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa421776c98dd83842a7169cb6ee5cff34}{PROBE\_SEND\_IF\_COND}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00897}00897                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00898}00898         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00899}00899         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa421776c98dd83842a7169cb6ee5cff34}{PROBE\_SEND\_IF\_COND}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00900}00900         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00901}00901                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00902}00902                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00903}00903                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00904}00904 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00905}00905                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE || mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] != 0x1AA) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00906}00906                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00907}00907                                   (\textcolor{stringliteral}{"{}IF\_COND: error \%d, pattern \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00908}00908                                    err, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00909}00909                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00910}00910                         mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_a98053f314b3afb0f7c08b949346e8eb6}{CARD\_FEATURE\_SD20}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00911}00911                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00912}00912                                   (\textcolor{stringliteral}{"{}SD 2.0 interface conditions: OK\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00913}00913                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00914}00914                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2438c3dd0ac78850d07cae1199c6b84d}{PROBE\_SDIO\_RESET}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00915}00915                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00916}00916         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00917}00917         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa2438c3dd0ac78850d07cae1199c6b84d}{PROBE\_SDIO\_RESET}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00918}00918         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00919}00919                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00920}00920                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00921}00921 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00922}00922                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00923}00923                     (\textcolor{stringliteral}{"{}SDIO\_RESET: error \%d, CCCR CTL register: \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00924}00924                     err, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00925}00925                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa83b51ecd2fcc485fc1598b1c71baa28a}{PROBE\_SDIO\_INIT}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00926}00926                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00927}00927         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00928}00928         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa83b51ecd2fcc485fc1598b1c71baa28a}{PROBE\_SDIO\_INIT}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00929}00929         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00930}00930                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00931}00931                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00932}00932                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00933}00933 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00934}00934                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00935}00935                     (\textcolor{stringliteral}{"{}SDIO\_INIT: error \%d, \%08x \%08x \%08x \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00936}00936                     err, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00937}00937                     mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[1],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00938}00938                     mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[2],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00939}00939                     mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[3]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00940}00940 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00941}00941                 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00942}00942 \textcolor{comment}{                 * Error here means that this card is not SDIO,}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00943}00943 \textcolor{comment}{                 * so proceed with memory init as if nothing has happened}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00944}00944 \textcolor{comment}{                 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00945}00945                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00946}00946                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00947}00947                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00948}00948                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00949}00949                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_ab161757250c148cfb11f3a4097a95f19}{CARD\_FEATURE\_SDIO}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00950}00950                 uint32\_t ioifcond = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0];}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00951}00951                 uint32\_t \mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}} = ioifcond \& R4\_IO\_OCR\_MASK;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00952}00952 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00953}00953                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a35cd9bd4a39267ffd6319f431663693d}{sdio\_func\_count}} = R4\_IO\_NUM\_FUNCTIONS(ioifcond);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00954}00954                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00955}00955                     (\textcolor{stringliteral}{"{}SDIO card: \%d functions\(\backslash\)n"{}}, mmcp-\/>\mbox{\hyperlink{structmmc__params_a35cd9bd4a39267ffd6319f431663693d}{sdio\_func\_count}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00956}00956                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}} == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00957}00957                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00958}00958                           (\textcolor{stringliteral}{"{}SDIO OCR invalid, retrying\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00959}00959                         \textcolor{keywordflow}{break}; \textcolor{comment}{/* Retry */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00960}00960                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00961}00961 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00962}00962                 \textcolor{keywordflow}{if} (\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}} != 0 \&\& mmcp-\/>\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}} == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00963}00963                         mmcp-\/>\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}} = \mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00964}00964                         \textcolor{keywordflow}{break}; \textcolor{comment}{/* Retry, this time with non-\/0 OCR */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00965}00965                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00966}00966                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00967}00967                     (\textcolor{stringliteral}{"{}SDIO OCR: \%08x\(\backslash\)n"{}}, mmcp-\/>\mbox{\hyperlink{structmmc__params_a4f5bd841e91efc4c036093a7ce27eaad}{io\_ocr}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00968}00968 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00969}00969                 \textcolor{keywordflow}{if} (ioifcond \& R4\_IO\_MEM\_PRESENT) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00970}00970                         \textcolor{comment}{/* Combo card -\/-\/ proceed to memory initialization */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00971}00971                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00972}00972                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00973}00973                         \textcolor{comment}{/* No memory portion -\/-\/ get RCA and select card */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00974}00974                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{PROBE\_SEND\_RELATIVE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00975}00975                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00976}00976                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00977}00977         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00978}00978         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa18dffb43ac621a7e85e4e3221382e7e2}{PROBE\_MMC\_INIT}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00979}00979         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00980}00980                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00981}00981                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00982}00982                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00983}00983 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00984}00984                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00985}00985                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00986}00986                                   (\textcolor{stringliteral}{"{}MMC\_INIT: error \%d, resp \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00987}00987                                    err, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00988}00988                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00989}00989                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00990}00990                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00991}00991                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00992}00992                     (\textcolor{stringliteral}{"{}MMC card, OCR \%08x\(\backslash\)n"{}}, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00993}00993 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00994}00994                 \textcolor{keywordflow}{if} (mmcp-\/>\mbox{\hyperlink{structmmc__params_a1af5fc7c586179e9b3f3cfcaab66d2c9}{card\_ocr}} == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00995}00995                         \textcolor{comment}{/* We haven't sent the OCR to the card yet -\/-\/ do it */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00996}00996                         mmcp-\/>\mbox{\hyperlink{structmmc__params_a1af5fc7c586179e9b3f3cfcaab66d2c9}{card\_ocr}} = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0];}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00997}00997                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00998}00998                             (\textcolor{stringliteral}{"{}-\/> sending OCR to card\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l00999}00999                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01000}01000                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01001}01001 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01002}01002                 \textcolor{keywordflow}{if} (!(mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] \& MMC\_OCR\_CARD\_BUSY)) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01003}01003                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01004}01004                             (\textcolor{stringliteral}{"{}Card is still powering up\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01005}01005                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01006}01006                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01007}01007 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01008}01008                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_ae502d8099a7956959b6bf93bac0009ad}{CARD\_FEATURE\_MMC}} | \mbox{\hyperlink{mmc_8h_a6ca3cddf29f29482728a3e1be1604435}{CARD\_FEATURE\_MEMORY}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01009}01009                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{PROBE\_GET\_CID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01010}01010                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01011}01011         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01012}01012         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01013}01013         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01014}01014                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01015}01015                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01016}01016 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01017}01017                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01018}01018                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01019}01019                                   (\textcolor{stringliteral}{"{}APP\_OP\_COND: error \%d, resp \%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01020}01020                                    err, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01021}01021                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa18dffb43ac621a7e85e4e3221382e7e2}{PROBE\_MMC\_INIT}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01022}01022                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01023}01023                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01024}01024 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01025}01025                 \textcolor{keywordflow}{if} (!(softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} \& \mbox{\hyperlink{mmc__xpt_8c_ae5bf7f8322a2a4cafd6f3d2531771ea6}{PROBE\_FLAG\_ACMD\_SENT}})) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01026}01026                         \textcolor{comment}{/* Don't change the state */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01027}01027                         softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} |= \mbox{\hyperlink{mmc__xpt_8c_ae5bf7f8322a2a4cafd6f3d2531771ea6}{PROBE\_FLAG\_ACMD\_SENT}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01028}01028                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01029}01029                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01030}01030 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01031}01031                 softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} \&= \string~PROBE\_FLAG\_ACMD\_SENT;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01032}01032                 \textcolor{keywordflow}{if} ((mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] \& MMC\_OCR\_CARD\_BUSY) ||}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01033}01033                     (mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.arg \& MMC\_OCR\_VOLTAGE) == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01034}01034                         \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01035}01035                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01036}01036                             (\textcolor{stringliteral}{"{}Card OCR: \%08x\(\backslash\)n"{}},  mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01037}01037                         \textcolor{keywordflow}{if} (mmcp-\/>\mbox{\hyperlink{structmmc__params_a1af5fc7c586179e9b3f3cfcaab66d2c9}{card\_ocr}} == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01038}01038                                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a1af5fc7c586179e9b3f3cfcaab66d2c9}{card\_ocr}} = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0];}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01039}01039                                 \textcolor{comment}{/* Now when we know OCR that we want -\/-\/ send it to card */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01040}01040                                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01041}01041                                     (\textcolor{stringliteral}{"{}-\/> sending OCR to card\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01042}01042                         \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01043}01043                                 \textcolor{comment}{/* We already know the OCR and despite of that we}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01044}01044 \textcolor{comment}{                                 * are processing the answer to ACMD41 -\/> move on}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01045}01045 \textcolor{comment}{                                 */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01046}01046                                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{PROBE\_GET\_CID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01047}01047                         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01048}01048                         \textcolor{comment}{/* Getting an answer to ACMD41 means the card has memory */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01049}01049                         mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_a6ca3cddf29f29482728a3e1be1604435}{CARD\_FEATURE\_MEMORY}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01050}01050 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01051}01051                         \textcolor{comment}{/* Standard capacity vs High Capacity memory card */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01052}01052                         \textcolor{keywordflow}{if} (mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] \& MMC\_OCR\_CCS) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01053}01053                                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01054}01054                                     (\textcolor{stringliteral}{"{}Card is SDHC\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01055}01055                                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_a31af3df3316f3816ab8b744fb7dc4444}{CARD\_FEATURE\_SDHC}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01056}01056                         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01057}01057 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01058}01058                         \textcolor{comment}{/* Whether the card supports 1.8V signaling */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01059}01059                         \textcolor{keywordflow}{if} (mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] \& MMC\_OCR\_S18A) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01060}01060                                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01061}01061                                           (\textcolor{stringliteral}{"{}Card supports 1.8V signaling\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01062}01062                                 mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} |= \mbox{\hyperlink{mmc_8h_aa0e6607117821ce84ecbd8cb92d13cde}{CARD\_FEATURE\_18V}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01063}01063                                 \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_ad04e6cfc5c26c4c4013e8ce7ec80b5c0}{flags}} \& \mbox{\hyperlink{mmc__xpt_8c_a9f4ae4da2d5ac736ebc095d4ae213e42}{PROBE\_FLAG\_HOST\_CAN\_DO\_18V}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01064}01064                                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01065}01065                                                   (\textcolor{stringliteral}{"{}Host supports 1.8V signaling. Switch voltage!\(\backslash\)n"{}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01066}01066                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}} = \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055ca809010667fe314b6a4af69f3fef6bc9f}{XPT\_SET\_TRAN\_SETTINGS}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01067}01067                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a2b92b9f93c185a3bcd5da48c751c0c05}{flags}} = \mbox{\hyperlink{cam__ccb_8h_a8a331ca6ae1e86223b907c974ef6b676a17c5461f834828a5af4980b5ac3a375d}{CAM\_DIR\_NONE}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01068}01068                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_af69c58b4653ec0977d4ccfe89e30cfad}{retry\_count}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01069}01069                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_aafcc3aaf269bd00196097aa9ef85dd9b}{timeout}} = 100;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01070}01070                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_afe206cd92d25dfd137df5196cdfcfdae}{cbfcnp}} = NULL;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01071}01071                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_a49ca2523da352ce13d213ca3881a126b}{cts}}.\mbox{\hyperlink{structccb__trans__settings_aeb168f5bdb4329b47397670aae9bd2f9}{proto\_specific}}.\mbox{\hyperlink{structccb__trans__settings_ad24f59699726f62e474172bff48e575e}{mmc}}.\mbox{\hyperlink{structccb__trans__settings__mmc_a1f09353b8c0689d571387f33c9fb2b4d}{ios}}.vccq = vccq\_180;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01072}01072                                         done\_ccb-\/>\mbox{\hyperlink{unionccb_a49ca2523da352ce13d213ca3881a126b}{cts}}.\mbox{\hyperlink{structccb__trans__settings_aeb168f5bdb4329b47397670aae9bd2f9}{proto\_specific}}.\mbox{\hyperlink{structccb__trans__settings_ad24f59699726f62e474172bff48e575e}{mmc}}.\mbox{\hyperlink{structccb__trans__settings__mmc_ac6b59dc2e231369e2cf0812ca6208fad}{ios\_valid}} = \mbox{\hyperlink{cam__ccb_8h_a56cd197f703b8d6a785f01c7f1146a3d}{MMC\_VCCQ}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01073}01073                                         \mbox{\hyperlink{cam__xpt_8c_a6ef97382f5b1590b4d2d138516a63bcc}{xpt\_action}}(done\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01074}01074                                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01075}01075                         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01076}01076                 \} \textcolor{keywordflow}{else} \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01077}01077                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01078}01078                                   (\textcolor{stringliteral}{"{}Card not ready: \%08x\(\backslash\)n"{}},  mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01079}01079                         \textcolor{comment}{/* Send CMD55+ACMD41 once again  */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01080}01080                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa855feafd3c6c0bc48dc83bd727db58d3}{PROBE\_SEND\_APP\_OP\_COND}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01081}01081                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01082}01082 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01083}01083                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01084}01084         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01085}01085         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa50ca5c707bbcc15433bba5a81e3b786c}{PROBE\_GET\_CID}}: \textcolor{comment}{/* XXX move to mmc\_da */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01086}01086         \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01087}01087                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01088}01088                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01089}01089 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01090}01090                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01091}01091                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01092}01092                                   (\textcolor{stringliteral}{"{}PROBE\_GET\_CID: error \%d\(\backslash\)n"{}}, err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01093}01093                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01094}01094                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01095}01095                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01096}01096 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01097}01097                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01098}01098                 memcpy(mmcp-\/>\mbox{\hyperlink{structmmc__params_aeb2c5d2ec5e0e660bc605bbd65e851de}{card\_cid}}, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp, 4 * \textcolor{keyword}{sizeof}(uint32\_t));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01099}01099                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01100}01100                     (\textcolor{stringliteral}{"{}CID \%08x\%08x\%08x\%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01101}01101                       mmcp-\/>\mbox{\hyperlink{structmmc__params_aeb2c5d2ec5e0e660bc605bbd65e851de}{card\_cid}}[0],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01102}01102                       mmcp-\/>\mbox{\hyperlink{structmmc__params_aeb2c5d2ec5e0e660bc605bbd65e851de}{card\_cid}}[1],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01103}01103                       mmcp-\/>\mbox{\hyperlink{structmmc__params_aeb2c5d2ec5e0e660bc605bbd65e851de}{card\_cid}}[2],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01104}01104                       mmcp-\/>\mbox{\hyperlink{structmmc__params_aeb2c5d2ec5e0e660bc605bbd65e851de}{card\_cid}}[3]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01105}01105                 \textcolor{keywordflow}{if} (mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_ae502d8099a7956959b6bf93bac0009ad}{CARD\_FEATURE\_MMC}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01106}01106                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab1b02c2bfc9d84d3257870eb90bdb2a0}{PROBE\_MMC\_SET\_RELATIVE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01107}01107                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01108}01108                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{PROBE\_SEND\_RELATIVE\_ADDR}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01109}01109                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01110}01110         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01111}01111         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fabaa5de3c8ac0f6122b740c5ba1dca4ab}{PROBE\_SEND\_RELATIVE\_ADDR}}: \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01112}01112                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01113}01113                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01114}01114                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01115}01115                 uint16\_t rca = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp[0] >> 16;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01116}01116                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01117}01117                     (\textcolor{stringliteral}{"{}Card published RCA: \%u\(\backslash\)n"{}}, rca));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01118}01118                 path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}.\mbox{\hyperlink{structmmc__params_aa63066700cf88f02aad30e378f386a23}{card\_rca}} = rca;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01119}01119                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01120}01120                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01121}01121                                   (\textcolor{stringliteral}{"{}PROBE\_SEND\_RELATIVE\_ADDR: error \%d\(\backslash\)n"{}}, err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01122}01122                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01123}01123                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01124}01124                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01125}01125 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01126}01126                 \textcolor{comment}{/* If memory is present, get CSD, otherwise select card */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01127}01127                 \textcolor{keywordflow}{if} (mmcp-\/>\mbox{\hyperlink{structmmc__params_a9bf3e2fb1615fd94083eb8639fb2ae43}{card\_features}} \& \mbox{\hyperlink{mmc_8h_a6ca3cddf29f29482728a3e1be1604435}{CARD\_FEATURE\_MEMORY}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01128}01128                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{PROBE\_GET\_CSD}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01129}01129                 \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01130}01130                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{PROBE\_SELECT\_CARD}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01131}01131                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01132}01132         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01133}01133         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab1b02c2bfc9d84d3257870eb90bdb2a0}{PROBE\_MMC\_SET\_RELATIVE\_ADDR}}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01134}01134                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01135}01135                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01136}01136                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01137}01137                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01138}01138                             (\textcolor{stringliteral}{"{}PROBE\_MMC\_SET\_RELATIVE\_ADDR: error \%d\(\backslash\)n"{}}, err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01139}01139                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01140}01140                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01141}01141                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01142}01142                 path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}}.\mbox{\hyperlink{structmmc__params_aa63066700cf88f02aad30e378f386a23}{card\_rca}} = \mbox{\hyperlink{mmc_8h_add0f1eba7f38f3d6fd6ed97a1b3e00b3}{MMC\_PROPOSED\_RCA}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01143}01143                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{PROBE\_GET\_CSD}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01144}01144                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01145}01145         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa1e9368a72339d95663a3a18517f36280}{PROBE\_GET\_CSD}}: \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01146}01146                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01147}01147                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01148}01148 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01149}01149                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01150}01150                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01151}01151                                   (\textcolor{stringliteral}{"{}PROBE\_GET\_CSD: error \%d\(\backslash\)n"{}}, err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01152}01152                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01153}01153                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01154}01154                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01155}01155 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01156}01156                 \textcolor{keyword}{struct }\mbox{\hyperlink{structmmc__params}{mmc\_params}} *mmcp = \&path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_a7a7a3d30522700002207ec227268da69}{mmc\_ident\_data}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01157}01157                 memcpy(mmcp-\/>\mbox{\hyperlink{structmmc__params_a1b1f44bab20e907317ab3ae185074aa3}{card\_csd}}, mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.resp, 4 * \textcolor{keyword}{sizeof}(uint32\_t));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01158}01158                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01159}01159                     (\textcolor{stringliteral}{"{}CSD \%08x\%08x\%08x\%08x\(\backslash\)n"{}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01160}01160                       mmcp-\/>\mbox{\hyperlink{structmmc__params_a1b1f44bab20e907317ab3ae185074aa3}{card\_csd}}[0],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01161}01161                       mmcp-\/>\mbox{\hyperlink{structmmc__params_a1b1f44bab20e907317ab3ae185074aa3}{card\_csd}}[1],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01162}01162                       mmcp-\/>\mbox{\hyperlink{structmmc__params_a1b1f44bab20e907317ab3ae185074aa3}{card\_csd}}[2],}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01163}01163                       mmcp-\/>\mbox{\hyperlink{structmmc__params_a1b1f44bab20e907317ab3ae185074aa3}{card\_csd}}[3]));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01164}01164                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{PROBE\_SELECT\_CARD}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01165}01165                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01166}01166         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01167}01167         \textcolor{keywordflow}{case} \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fa53b081783bcbe3ffb85c251b7f1160d0}{PROBE\_SELECT\_CARD}}: \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01168}01168                 mmcio = \&done\_ccb-\/>\mbox{\hyperlink{unionccb_a57bf034b38cf394fb554731856914f4d}{mmcio}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01169}01169                 err = mmcio-\/>\mbox{\hyperlink{structccb__mmcio_adcafb3aa7a8362b06dfb50f0baa5b205}{cmd}}.error;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01170}01170                 \textcolor{keywordflow}{if} (err != MMC\_ERR\_NONE) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01171}01171                         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01172}01172                                   (\textcolor{stringliteral}{"{}PROBE\_SEND\_RELATIVE\_ADDR: error \%d\(\backslash\)n"{}}, err));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01173}01173                         \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01174}01174                         \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01175}01175                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01176}01176 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01177}01177                 \mbox{\hyperlink{mmc__xpt_8c_af0fb33fb067bf75c4a3fae90f7ab534f}{PROBE\_SET\_ACTION}}(softc, \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{PROBE\_DONE}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01178}01178                 \textcolor{keywordflow}{break};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01179}01179         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01180}01180         \textcolor{keywordflow}{default}:}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01181}01181                 \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01182}01182                           (\textcolor{stringliteral}{"{}mmcprobe\_done: invalid action state 0x\%x\(\backslash\)n"{}}, softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}}));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01183}01183                 panic(\textcolor{stringliteral}{"{}default: case in mmc\_probe\_done()"{}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01184}01184         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01185}01185 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01186}01186         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} == \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}} \&\&}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01187}01187           (path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}}) == 0) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01188}01188                 \mbox{\hyperlink{cam__xpt_8c_a60a033db88b93c6492304499e81774c0}{xpt\_async}}(\mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0ac3008f99f93ca1448f9c8705b1653da5}{AC\_LOST\_DEVICE}}, path, NULL);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01189}01189         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01190}01190 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01191}01191         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} != \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}})}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01192}01192                 \mbox{\hyperlink{cam__xpt_8c_a26e646d0732b4acab4667d28f24d026e}{xpt\_schedule}}(periph, priority);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01193}01193         \textcolor{comment}{/* Drop freeze taken due to CAM\_DEV\_QFREEZE flag set. */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01194}01194         \textcolor{keywordtype}{int} frozen = \mbox{\hyperlink{cam__periph_8c_a31248ce4d1951e8325b42cf2c309481d}{cam\_release\_devq}}(path, 0, 0, 0, FALSE);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01195}01195         \mbox{\hyperlink{cam__debug_8h_ae79c3c2e46f2d9fca388152c3ad38ef0}{CAM\_DEBUG}}(done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a47763149d044e13fcc06abfb3ddc941f}{path}}, \mbox{\hyperlink{cam__debug_8h_ae330349135d2d26f45cdf3cc67b2b369a1c92deb84960dd994baae2c9abc00818}{CAM\_DEBUG\_PROBE}},}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01196}01196           (\textcolor{stringliteral}{"{}mmcprobe\_done: remaining freeze count \%d\(\backslash\)n"{}}, frozen));}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01197}01197 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01198}01198         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} == \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{PROBE\_DONE}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01199}01199                 \textcolor{comment}{/* Notify the system that the device is found! */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01200}01200                 \textcolor{keywordflow}{if} (periph-\/>\mbox{\hyperlink{structcam__periph_ab9f512b2fa31891d84372cd6279670b7}{path}}-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \& \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\_DEV\_UNCONFIGURED}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01201}01201                         path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}}-\/>\mbox{\hyperlink{structcam__ed_af3f8ff703ffbab8d5b16b175a6646e23}{flags}} \&= \string~CAM\_DEV\_UNCONFIGURED;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01202}01202                         \mbox{\hyperlink{cam__xpt_8c_a01bdf0561d2c7b64751461a89673df2e}{xpt\_acquire\_device}}(path-\/>\mbox{\hyperlink{structcam__path_a0f0edbfe3286687ab3bebd9f5fe83d69}{device}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01203}01203                         done\_ccb-\/>\mbox{\hyperlink{unionccb_ab0f218bc2944e08931eb0d935ce4085f}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_a7439d6fedcb6191113a285c51038cd71}{func\_code}} = \mbox{\hyperlink{cam__ccb_8h_aa49540dd5ca09d2e63a5251de499055cae076749d68954cdfbd24a6060976168f}{XPT\_GDEV\_TYPE}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01204}01204                         \mbox{\hyperlink{cam__xpt_8c_a6ef97382f5b1590b4d2d138516a63bcc}{xpt\_action}}(done\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01205}01205                         \mbox{\hyperlink{cam__xpt_8c_a60a033db88b93c6492304499e81774c0}{xpt\_async}}(\mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0a04183843e65dd16d378d105270a6debd}{AC\_FOUND\_DEVICE}}, path, done\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01206}01206                 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01207}01207         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01208}01208         \mbox{\hyperlink{cam__xpt_8c_acb560602f4997cc269e6bb54efa93725}{xpt\_release\_ccb}}(done\_ccb);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01209}01209         \textcolor{keywordflow}{if} (softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} == \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836fab0f7a7cb68582d1f2510104b775aff9e}{PROBE\_DONE}} || softc-\/>\mbox{\hyperlink{structmmcprobe__softc_a3ae2cab32232a44dd406f0db33d35aa8}{action}} == \mbox{\hyperlink{mmc__xpt_8c_a46b563cdf93cf5d88e48fed9a009836faf31e44ca3179f60a8e049f508b869375}{PROBE\_INVALID}}) \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01210}01210                 \mbox{\hyperlink{cam__periph_8c_ac018c88658c51ec769298af70819c000}{cam\_periph\_invalidate}}(periph);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01211}01211                 \mbox{\hyperlink{cam__periph_8c_a06741cfe8f484a9dad6f9607a233908c}{cam\_periph\_release\_locked}}(periph);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01212}01212         \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01213}01213 \}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01214}01214 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01215}01215 \textcolor{keywordtype}{void}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01216}\mbox{\hyperlink{mmc__all_8h_a003379ebc3f40fce4242097af152ed2d}{01216}} \mbox{\hyperlink{mmc__xpt_8c_a003379ebc3f40fce4242097af152ed2d}{mmc\_path\_inq}}(\textcolor{keyword}{struct} \mbox{\hyperlink{structccb__pathinq}{ccb\_pathinq}} *cpi, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *hba,}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01217}01217     \textcolor{keyword}{const} \textcolor{keyword}{struct} \mbox{\hyperlink{structcam__sim}{cam\_sim}} *sim, \textcolor{keywordtype}{size\_t} maxio)}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01218}01218 \{}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01219}01219 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01220}01220         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a186b2ecd616f68937803d71dc650a452}{version\_num}} = 1;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01221}01221         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a8b368b467067fee18bb09e83859ecaa1}{hba\_inquiry}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01222}01222         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a923e6a1383bc827632294040e0545ce5}{target\_sprt}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01223}01223         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a7b48ff4ce816b541a1c06a92bf0a4447}{hba\_misc}} = \mbox{\hyperlink{cam__ccb_8h_a3c8f3fa68445478749d5dd7dcb4b014ea40772fc5f458a217c087e2854d4231f5}{PIM\_NOBUSRESET}} | \mbox{\hyperlink{cam__ccb_8h_a3c8f3fa68445478749d5dd7dcb4b014ea7d760f8594f74c95c6c47404cf6f940e}{PIM\_SEQSCAN}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01224}01224         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a16b6c273fb16591cf693774c1262943d}{hba\_eng\_cnt}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01225}01225         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a2629d14fcfe43ae557567ec7122716cd}{max\_target}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01226}01226         cpi-\/>\mbox{\hyperlink{structccb__pathinq_aa34411e891163e736104ee783f82c17c}{max\_lun}} = 0;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01227}01227         cpi-\/>\mbox{\hyperlink{structccb__pathinq_ac9f9c21909016837f81bdea36c0e63db}{initiator\_id}} = 1;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01228}01228         cpi-\/>\mbox{\hyperlink{structccb__pathinq_acafc5a0159d616aaa6b45619619dcc1e}{maxio}} = maxio;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01229}01229         strncpy(cpi-\/>\mbox{\hyperlink{structccb__pathinq_a8cfa668dd6fa253ba49f5b33fea2ad00}{sim\_vid}}, \textcolor{stringliteral}{"{}FreeBSD"{}}, \mbox{\hyperlink{cam__ccb_8h_ad96f7253a5daa2b903b136b892f3adb9}{SIM\_IDLEN}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01230}01230         strncpy(cpi-\/>\mbox{\hyperlink{structccb__pathinq_a52fac0091fb32cab83b5b60a868a145a}{hba\_vid}}, hba, \mbox{\hyperlink{cam__ccb_8h_abd60e5ed8cd7bf05c5bf99bab99af73e}{HBA\_IDLEN}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01231}01231         strncpy(cpi-\/>\mbox{\hyperlink{structccb__pathinq_a59c310c25aeebc87e2238f4e9fdde59c}{dev\_name}}, \mbox{\hyperlink{cam__sim_8h_af072fac14801b2861497672e4459c8c1}{cam\_sim\_name}}(sim), \mbox{\hyperlink{cam__ccb_8h_aea661c8c832c80ccc92e62f1a37b3cec}{DEV\_IDLEN}});}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01232}01232         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a39cb13194f2d3b32ba291584ef9c5b6a}{unit\_number}} = \mbox{\hyperlink{cam__sim_8h_a2b0527879b5cc1b2ed63b01b83f51216}{cam\_sim\_unit}}(sim);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01233}01233         cpi-\/>\mbox{\hyperlink{structccb__pathinq_ae61da712ae294939a70488cec8cba2ba}{bus\_id}} = \mbox{\hyperlink{cam__sim_8h_a878697a5b1420b51b00379cc0a6c76bc}{cam\_sim\_bus}}(sim);}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01234}01234         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a0fd2217429605ad2fb67e9e8bca6a4f2}{protocol}} = \mbox{\hyperlink{cam__ccb_8h_a283e001579038402a95e23bef57107e8a982a0b7e7a81cd9adcbcab95e3698b4b}{PROTO\_MMCSD}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01235}01235         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a41b70fcb8e7e4b6dad351296978a7693}{protocol\_version}} = \mbox{\hyperlink{scsi__all_8h_a4cb01a4baa36d317efd2ed185e75b53c}{SCSI\_REV\_0}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01236}01236         cpi-\/>\mbox{\hyperlink{structccb__pathinq_aaef7c0420017996140ae4bdede6a8152}{transport}} = \mbox{\hyperlink{cam__ccb_8h_a724bbd85a7f871ac9067f5ee489192fea09e890a71efe4ca7d6220e600eefd7b4}{XPORT\_MMCSD}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01237}01237         cpi-\/>\mbox{\hyperlink{structccb__pathinq_acb3156bdd68be769552f3814625a9691}{transport\_version}} = 1;}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01238}01238 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01239}01239         cpi-\/>\mbox{\hyperlink{structccb__pathinq_aa99a953da5f645be9a9658555e91a4a3}{base\_transfer\_speed}} = 100; \textcolor{comment}{/* XXX WTF? */}}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01240}01240 }
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01241}01241         cpi-\/>\mbox{\hyperlink{structccb__pathinq_a9e4ef19d9e427247f68ee45ea48a93d2}{ccb\_h}}.\mbox{\hyperlink{structccb__hdr_abcec535dec8d07473cd2af995bf25d88}{status}} = \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3a3487a040bd091973beb62275a7309324}{CAM\_REQ\_CMP}};}
\DoxyCodeLine{\Hypertarget{mmc__xpt_8c_source_l01242}01242 \}}

\end{DoxyCode}
