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