On 11/11/16 21:49, Julia Cartwright wrote: > On Wed, Nov 09, 2016 at 10:08:29AM -0600, Zach Brown wrote: >> On Wed, Nov 09, 2016 at 03:24:24PM +0200, Adrian Hunter wrote: >>> On 08/11/16 22:07, Zach Brown wrote: >>>> On NI 9037 boards the max SDIO frequency is limited by trace lengths >>>> and other layout choices. The max SDIO frequency is stored in an ACPI >>>> table, as MXFQ. >>>> >>>> The driver reads the ACPI entry MXFQ during sdio_probe_slot and sets the >>>> f_max field of the host with it. >>>> >>>> Signed-off-by: Nathan Sullivan <nathan.sullivan@xxxxxx> >>>> Reviewed-by: Jaeden Amero <jaeden.amero@xxxxxx> >>>> Reviewed-by: Josh Cartwright <joshc@xxxxxx> >>>> Signed-off-by: Zach Brown <zach.brown@xxxxxx> > [..] >>>> static int ni_byt_sdio_probe_slot(struct sdhci_pci_slot *slot) >>>> { >>>> +#ifdef CONFIG_ACPI >>>> + /* Get max freq from ACPI for NI hardware */ >>>> + acpi_handle acpi_hdl; >>>> + acpi_status status; >>>> + struct acpi_buffer acpi_result = { >>>> + ACPI_ALLOCATE_BUFFER, NULL }; >>>> + union acpi_object *acpi_buffer; >>>> + int max_freq; >>>> + >>>> + status = acpi_get_handle(ACPI_HANDLE(&slot->chip->pdev->dev), "MXFQ", >>>> + &acpi_hdl); >>> >>> Is "MXFQ" an object that has already been deployed or are you inventing it >>> now? In the latter case, did you consider device properties as an alternative? >>> >> "MXFQ" is an object that we have already deployed on some of our devices. > > Unfortunately, the whole ACPI device properties table discussion was > just starting at the point where we were putting the firmware together > for these devices :(. Had we engineered the firmware today, we would > certainly have looked at using it. No problem. WRT the code, could acpi_evaluate_integer() be used instead of acpi_get_handle()/acpi_evaluate_object()? -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html