[alsa-devel] [PATCH v5 2/4] ASoC: Intel - add Skylake HDA audio driver

Vinod Koul vinod.koul at intel.com
Tue Jun 16 05:52:47 CEST 2015


On Mon, Jun 15, 2015 at 04:56:33PM +0100, Mark Brown wrote:
> > +static int skl_suspend(struct device *dev)
> > +{
> > +	struct pci_dev *pci = to_pci_dev(dev);
> > +	struct hdac_ext_bus *ebus = pci_get_drvdata(pci);
> > +	struct hdac_bus *bus = ebus_to_hbus(ebus);
> > +
> > +	snd_hdac_bus_stop_chip(bus);
> > +	snd_hdac_bus_enter_link_reset(bus);
> > +	if (bus->irq >= 0) {
> > +		free_irq(bus->irq, bus);
> 
> 
> Why are we freeing the interrupt over suspend?  That is very unusual
> behaviour.
As Takashi said, these maybe old HDA related, so I can check if we cna
remove these. I we find an odd machine/BIOS we can always add this later

> 
> > +static int skl_dmic_device_register(struct skl *skl)
> > +{
> > +	struct hdac_bus *bus = ebus_to_hbus(&skl->ebus);
> > +	struct platform_device *pdev;
> > +	int ret;
> > +
> > +	pdev = platform_device_alloc("dmic-codec", -1);
> > +	if (!pdev) {
> > +		dev_err(bus->dev, "failed to allocate dmic device\n");
> > +		return -1;
> > +	}
> > +
> > +	ret = platform_device_add(pdev);
> > +	if (ret) {
> > +		dev_err(bus->dev, "failed to add hda codec device\n");
> > +		platform_device_put(pdev);
> > +		return -1;
> > +	}
> 
> Don't squash the error codes you get, return them - and if you must
> return a fixed error code I'm pretty sure you don't mean -EPERM.
Ah yes, will fix this

> 
> > +	skl->dmic_dev = pdev;
> 
> There can only ever be one DMIC?
One DMIC port, so we need only one DMIC codec device for creating the
DAI-link.

> 
> > +
> > +static const struct hdac_io_ops skl_io_ops = {
> > +	.reg_writel = skl_pci_writel,
> > +	.reg_readl = skl_pci_readl,
> > +	.reg_writew = skl_pci_writew,
> > +	.reg_readw = skl_pci_readw,
> > +	.reg_writeb = skl_pci_writeb,
> > +	.reg_readb = skl_pci_readb,
> > +	.dma_alloc_pages = skl_dma_alloc_pages,
> > +	.dma_free_pages = skl_dma_free_pages,
> > +};
> 
> Still not thrilled at open coding these wrappers.
If we have this is core, I will remove the part :)


-- 
~Vinod


More information about the Alsa-devel mailing list