sdmmc_function
struct sdmmc_function *sf = sdmmc->sc_card;
struct sdmmc_function *, uint32_t, char *, size_t);
struct sdmmc_function *, uint32_t, char *, size_t);
struct sdmmc_function *sf = saa->sf;
struct sdmmc_function *sf = saa->sf;
* sizeof(struct sdmmc_function *);
struct sdmmc_function *sf;
struct sdmmc_function *sf;
struct sdmmc_function *sf;
struct sdmmc_function *sf;
bwfm_sdio_buf_read(struct bwfm_sdio_softc *sc, struct sdmmc_function *sf,
bwfm_sdio_buf_write(struct bwfm_sdio_softc *sc, struct sdmmc_function *sf,
struct sdmmc_function **sc_sf;
struct sdmmc_function *sc_sf;
struct sdmmc_function *sf = saa->sf;
struct sdmmc_function *sf = saa->sf;
struct sdmmc_function *sf0 = ssc->sc_sf->sc->sc_fn0;
struct sdmmc_function *sc_sf;
struct sdmmc_function *sf;
struct sdmmc_function *sc_sf; /* SDIO function */
struct sdmmc_function *sf;
struct sdmmc_function *sf, *sfnext;
struct sdmmc_function *sf = sa->sf;
struct sdmmc_function *
struct sdmmc_function *sf;
sdmmc_function_free(struct sdmmc_function *sf)
struct sdmmc_function *sf;
sdmmc_app_command(struct sdmmc_softc *sc, struct sdmmc_function *sf, struct sdmmc_command *cmd)
sdmmc_set_relative_addr(struct sdmmc_softc *sc, struct sdmmc_function *sf)
sdmmc_select_card(struct sdmmc_softc *sc, struct sdmmc_function *sf)
decode_funce_lan_nid(struct sdmmc_function *sf, struct sdmmc_cis *cis,
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
decode_funce_function(struct sdmmc_function *sf, struct sdmmc_cis *cis,
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
decode_vers_1(struct sdmmc_function *sf, struct sdmmc_cis *cis, int tpllen,
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
sdmmc_read_cis(struct sdmmc_function *sf, struct sdmmc_cis *cis)
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
sdmmc_print_cis(struct sdmmc_function *sf)
sdmmc_check_cis_quirks(struct sdmmc_function *sf)
static void decode_funce_common(struct sdmmc_function *, struct sdmmc_cis *,
static void decode_funce_function(struct sdmmc_function *, struct sdmmc_cis *,
static void decode_vers_1(struct sdmmc_function *, struct sdmmc_cis *, int,
sdmmc_cisptr(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
decode_funce_common(struct sdmmc_function *sf, struct sdmmc_cis *cis,
struct sdmmc_function *sf0 = sf->sc->sc_fn0;
struct sdmmc_function *sf0, *sf;
sdmmc_io_init(struct sdmmc_softc *sc, struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_io_function_ready(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_io_function_enable(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_io_function_disable(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_io_rw_direct(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_io_rw_extended(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_io_read_1(struct sdmmc_function *sf, int reg)
sdmmc_io_write_1(struct sdmmc_function *sf, int reg, uint8_t data)
sdmmc_io_read_2(struct sdmmc_function *sf, int reg)
sdmmc_io_write_2(struct sdmmc_function *sf, int reg, uint16_t data)
sdmmc_io_read_4(struct sdmmc_function *sf, int reg)
sdmmc_io_write_4(struct sdmmc_function *sf, int reg, uint32_t data)
sdmmc_io_read_multi_1(struct sdmmc_function *sf, int reg, u_char *data,
struct sdmmc_function *, int, u_char *, int, bool);
struct sdmmc_function *, int, u_char *, int, int);
sdmmc_io_write_multi_1(struct sdmmc_function *sf, int reg, u_char *data,
static int sdmmc_io_xchg(struct sdmmc_softc *, struct sdmmc_function *,
sdmmc_io_read_region_1(struct sdmmc_function *sf, int reg, u_char *data,
sdmmc_io_write_region_1(struct sdmmc_function *sf, int reg, u_char *data,
sdmmc_io_xchg(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_io_function_abort(struct sdmmc_function *sf)
sdmmc_intr_enable(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_intr_disable(struct sdmmc_function *sf)
struct sdmmc_function *sf0 = sc->sc_fn0;
sdmmc_io_set_blocklen(struct sdmmc_function *sf,
struct sdmmc_function *sf0 = sc->sc_fn0;
static int sdmmc_mem_single_read_block(struct sdmmc_function *, uint32_t,
static int sdmmc_mem_single_write_block(struct sdmmc_function *, uint32_t,
static int sdmmc_mem_single_segment_dma_read_block(struct sdmmc_function *,
static int sdmmc_mem_single_segment_dma_write_block(struct sdmmc_function *,
static int sdmmc_mem_read_block_subr(struct sdmmc_function *, bus_dmamap_t,
static int sdmmc_mem_write_block_subr(struct sdmmc_function *, bus_dmamap_t,
sdmmc_mem_send_csd(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_mem_send_scr(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_mem_decode_scr(struct sdmmc_softc *sc, struct sdmmc_function *sf)
sdmmc_mem_send_ssr(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_mem_decode_ssr(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_mem_decode_general_info(struct sdmmc_softc *sc, struct sdmmc_function *sf,
struct sdmmc_function *sf)
sdmmc_mem_read_extr_single(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_mem_write_extr_single(struct sdmmc_softc *sc, struct sdmmc_function *sf,
sdmmc_set_bus_width(struct sdmmc_function *sf, int width)
sdmmc_mem_sd_switch(struct sdmmc_function *sf, int mode, int group,
sdmmc_mem_mmc_switch(struct sdmmc_function *sf, uint8_t set, uint8_t index,
sdmmc_mem_single_read_block(struct sdmmc_function *sf, uint32_t blkno,
sdmmc_mem_single_segment_dma_read_block(struct sdmmc_function *sf,
sdmmc_mem_read_block_subr(struct sdmmc_function *sf, bus_dmamap_t dmap,
sdmmc_mem_read_block(struct sdmmc_function *sf, uint32_t blkno, u_char *data,
sdmmc_mem_single_write_block(struct sdmmc_function *sf, uint32_t blkno,
sdmmc_mem_single_segment_dma_write_block(struct sdmmc_function *sf,
sdmmc_mem_write_block_subr(struct sdmmc_function *sf, bus_dmamap_t dmap,
sdmmc_mem_write_block(struct sdmmc_function *sf, uint32_t blkno, u_char *data,
sdmmc_mem_discard(struct sdmmc_function *sf, uint32_t sblkno, uint32_t eblkno)
sdmmc_mem_flush_cache(struct sdmmc_function *sf, bool poll)
struct sdmmc_function *sf;
struct sdmmc_function *sf)
struct sdmmc_function *sf)
sdmmc_mem_init(struct sdmmc_softc *sc, struct sdmmc_function *sf)
sdmmc_mem_set_blocklen(struct sdmmc_softc *sc, struct sdmmc_function *sf,
static int sdmmc_mem_sd_init(struct sdmmc_softc *, struct sdmmc_function *);
static int sdmmc_mem_mmc_init(struct sdmmc_softc *, struct sdmmc_function *);
sdmmc_mem_execute_tuning(struct sdmmc_softc *sc, struct sdmmc_function *sf)
static int sdmmc_mem_send_csd(struct sdmmc_softc *, struct sdmmc_function *,
static int sdmmc_mem_send_scr(struct sdmmc_softc *, struct sdmmc_function *,
sdmmc_mem_sd_init(struct sdmmc_softc *sc, struct sdmmc_function *sf)
static int sdmmc_mem_decode_scr(struct sdmmc_softc *, struct sdmmc_function *);
static int sdmmc_mem_send_ssr(struct sdmmc_softc *, struct sdmmc_function *,
static int sdmmc_mem_decode_ssr(struct sdmmc_softc *, struct sdmmc_function *,
struct sdmmc_function * ,const uint8_t *);
struct sdmmc_function *);
static int sdmmc_mem_read_extr_single(struct sdmmc_softc *, struct sdmmc_function *,
static int sdmmc_mem_write_extr_single(struct sdmmc_softc *, struct sdmmc_function *,
static int sdmmc_set_bus_width(struct sdmmc_function *, int);
static int sdmmc_mem_sd_switch(struct sdmmc_function *, int, int, int, sdmmc_bitfield512_t *);
sdmmc_mem_mmc_init(struct sdmmc_softc *sc, struct sdmmc_function *sf)
static int sdmmc_mem_mmc_switch(struct sdmmc_function *, uint8_t, uint8_t,
SIMPLEQ_ENTRY(sdmmc_function) sf_list;
struct sdmmc_function *sc_card; /* selected card */
struct sdmmc_function *sc_fn0; /* function 0, the card itself */
SIMPLEQ_HEAD(, sdmmc_function) sf_head; /* list of card functions */
struct sdmmc_function *sf;
struct sdmmc_function *sdmmc_function_alloc(struct sdmmc_softc *);
void sdmmc_function_free(struct sdmmc_function *);
int sdmmc_app_command(struct sdmmc_softc *, struct sdmmc_function *,
int sdmmc_select_card(struct sdmmc_softc *, struct sdmmc_function *);
int sdmmc_set_relative_addr(struct sdmmc_softc *, struct sdmmc_function *);
void sdmmc_intr_enable(struct sdmmc_function *);
void sdmmc_intr_disable(struct sdmmc_function *);
struct sdmmc_function *);
struct sdmmc_function *);
int sdmmc_io_init(struct sdmmc_softc *, struct sdmmc_function *);
int sdmmc_io_set_blocklen(struct sdmmc_function *, int);
uint8_t sdmmc_io_read_1(struct sdmmc_function *, int);
uint16_t sdmmc_io_read_2(struct sdmmc_function *, int);
uint32_t sdmmc_io_read_4(struct sdmmc_function *, int);
int sdmmc_io_read_multi_1(struct sdmmc_function *, int, u_char *, int);
int sdmmc_io_read_region_1(struct sdmmc_function *, int, u_char *, int);
void sdmmc_io_write_1(struct sdmmc_function *, int, uint8_t);
void sdmmc_io_write_2(struct sdmmc_function *, int, uint16_t);
void sdmmc_io_write_4(struct sdmmc_function *, int, uint32_t);
int sdmmc_io_write_multi_1(struct sdmmc_function *, int, u_char *, int);
int sdmmc_io_write_region_1(struct sdmmc_function *, int, u_char *, int);
int sdmmc_io_function_enable(struct sdmmc_function *);
void sdmmc_io_function_disable(struct sdmmc_function *);
int sdmmc_io_function_abort(struct sdmmc_function *);
uint32_t sdmmc_cisptr(struct sdmmc_function *);
int sdmmc_read_cis(struct sdmmc_function *, struct sdmmc_cis *);
void sdmmc_print_cis(struct sdmmc_function *);
void sdmmc_check_cis_quirks(struct sdmmc_function *);
int sdmmc_mem_init(struct sdmmc_softc *, struct sdmmc_function *);
int sdmmc_mem_set_blocklen(struct sdmmc_softc *, struct sdmmc_function *,
int sdmmc_mem_read_block(struct sdmmc_function *, uint32_t, u_char *,
int sdmmc_mem_write_block(struct sdmmc_function *, uint32_t, u_char *,
int sdmmc_mem_discard(struct sdmmc_function *, uint32_t, uint32_t);
int sdmmc_mem_flush_cache(struct sdmmc_function *, bool);