Hi Simon,
On Tue, Jan 22, 2019 at 9:14 AM Simon Glass <[email protected]> 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 <[email protected]>
> ---
>
> 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 <[email protected]>
Regards,
Bin
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot