[U-Boot] [PATCH 18/33] x86: ivybridge: Add a way to get the HDA config setting
Bin Meng
bmeng.cn at gmail.com
Wed Feb 13 09:38:38 UTC 2019
Hi Simon,
On Tue, Jan 22, 2019 at 9:14 AM Simon Glass <sjg at chromium.org> wrote:
>
> Add a way check to whether HD audio is enabled. Use ioctl() to avoid
> adding too many unusual operations to PCH.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> arch/x86/cpu/ivybridge/bd82x6x.c | 19 +++++++++++++++++++
> include/pch.h | 3 +++
> 2 files changed, 22 insertions(+)
>
> diff --git a/arch/x86/cpu/ivybridge/bd82x6x.c b/arch/x86/cpu/ivybridge/bd82x6x.c
> index a78bb02544..7d16294a5e 100644
> --- a/arch/x86/cpu/ivybridge/bd82x6x.c
> +++ b/arch/x86/cpu/ivybridge/bd82x6x.c
> @@ -212,10 +212,29 @@ static int bd82x6x_get_gpio_base(struct udevice *dev, u32 *gbasep)
> return 0;
> }
>
> +static int bd82x6x_ioctl(struct udevice *dev, enum pch_req_t req, void *data,
> + int size)
> +{
> + u32 rcba, val;
> +
> + switch (req) {
> + case PCH_REQ_HDA_CONFIG:
> + dm_pci_read_config32(dev, PCH_RCBA, &rcba);
> + val = readl(rcba + 0x2030);
nits: macro for 0x2030?
> + if (!(val & (1U << 31)))
nits: use BIT(31) and another macro here?
> + return -ENOENT;
> +
> + return val & 0xfe;
> + default:
> + return -ENOSYS;
> + }
> +}
> +
> static const struct pch_ops bd82x6x_pch_ops = {
> .get_spi_base = bd82x6x_pch_get_spi_base,
> .set_spi_protect = bd82x6x_set_spi_protect,
> .get_gpio_base = bd82x6x_get_gpio_base,
> + .ioctl = bd82x6x_ioctl,
> };
>
Other than above,
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
Regards,
Bin
More information about the U-Boot
mailing list