Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mmc/mmc_helpers.c
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Lines | if (device_has_property(dev, "mmc-hs400-1_8v")) | ||||
host->caps |= MMC_CAP_MMC_HS400_180 | MMC_CAP_SIGNALING_180; | host->caps |= MMC_CAP_MMC_HS400_180 | MMC_CAP_SIGNALING_180; | ||||
if (device_has_property(dev, "mmc-hs400-enhanced-strobe")) | if (device_has_property(dev, "mmc-hs400-enhanced-strobe")) | ||||
host->caps |= MMC_CAP_MMC_ENH_STROBE; | host->caps |= MMC_CAP_MMC_ENH_STROBE; | ||||
} | } | ||||
int | int | ||||
mmc_parse(device_t dev, struct mmc_helper *helper, struct mmc_host *host) | mmc_parse(device_t dev, struct mmc_helper *helper, struct mmc_host *host) | ||||
{ | { | ||||
uint64_t bus_width, max_freq; | uint32_t bus_width, max_freq; | ||||
bz: Is this size change an explicit bugfix as well? | |||||
Done Inline ActionsWell, kind of. kd: Well, kind of.
The "bus-width" property is stored as ACPI_TYPE_INTEGER(uint64_t) on ACPI… | |||||
bus_width = 0; | bus_width = 0; | ||||
if (device_get_property(dev, "bus-width", &bus_width, sizeof(uint64_t)) <= 0) | if (device_get_property(dev, "bus-width", &bus_width, | ||||
sizeof(bus_width), DEVICE_PROP_UINT32) <= 0) | |||||
bus_width = 1; | bus_width = 1; | ||||
if (bus_width >= 4) | if (bus_width >= 4) | ||||
host->caps |= MMC_CAP_4_BIT_DATA; | host->caps |= MMC_CAP_4_BIT_DATA; | ||||
if (bus_width >= 8) | if (bus_width >= 8) | ||||
host->caps |= MMC_CAP_8_BIT_DATA; | host->caps |= MMC_CAP_8_BIT_DATA; | ||||
/* | /* | ||||
* max-frequency is optional, drivers should tweak this value | * max-frequency is optional, drivers should tweak this value | ||||
* if it's not present based on the clock that the mmc controller | * if it's not present based on the clock that the mmc controller | ||||
* operates on | * operates on | ||||
*/ | */ | ||||
if (device_get_property(dev, "max-frequency", &max_freq, | if (device_get_property(dev, "max-frequency", &max_freq, | ||||
sizeof(uint64_t)) > 0) | sizeof(max_freq), DEVICE_PROP_UINT32) > 0) | ||||
host->f_max = max_freq; | host->f_max = max_freq; | ||||
if (device_has_property(dev, "broken-cd")) | if (device_has_property(dev, "broken-cd")) | ||||
helper->props |= MMC_PROP_BROKEN_CD; | helper->props |= MMC_PROP_BROKEN_CD; | ||||
if (device_has_property(dev, "non-removable")) | if (device_has_property(dev, "non-removable")) | ||||
helper->props |= MMC_PROP_NON_REMOVABLE; | helper->props |= MMC_PROP_NON_REMOVABLE; | ||||
if (device_has_property(dev, "wp-inverted")) | if (device_has_property(dev, "wp-inverted")) | ||||
helper->props |= MMC_PROP_WP_INVERTED; | helper->props |= MMC_PROP_WP_INVERTED; | ||||
Show All 17 Lines |
Is this size change an explicit bugfix as well?