lkml.org 
[lkml]   [2022]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/4] ALSA: hda/realtek: fix mute/micmute LEDs for HP 855 G8
On Sun, 30 Jan 2022 12:10:20 +0100,
Alexander Sergeyev wrote:
>
> On Sat, Jan 29, 2022 at 05:47:07PM +0300, Alexander Sergeyev wrote:
> > But unbind-bind problems with IO_PAGE_FAULT and "out of range cmd" are not
> > eliminated. IO_PAGE_FAULT are often logged without accompanying "out of range
> > cmd". And after adding debugging printk() I haven't managed to trigger "out
> > of range cmd" yet. But IO_PAGE_FAULT are more easily triggered.
>
> IO_PAGE_FAULTs go away with CONFIG_IOMMU_DEFAULT_PASSTHROUGH enabled. As I
> understand, this leads to reduced DMA device isolation which is generally not
> desirable. I was initially thinking about races between some delayed code and
> io-memory pages unmapping, but first IO_PAGE_FAULTs (running non-passthrough
> iommu) happen during bind operations as well.

That's logical, as IOMMU is bypassed for DMA with that option.

I still don't get what really triggers it. This won't happen when you
build modules and load/unload the driver instead of dynamic binding?

And the out-of-range access is puzzling, too. I guess this comes from
the update of a COEF, i.e. it reads a strange value and tries to
update the value based on it. The problem is that it's no -1 but some
random value. This might be tied with the IOMMU error, and it might
reading unexpected address, which would be really bad.

In anyway, we need to track down exactly which access triggers those
errors...

> What is also interesting, unbind & bind consistently fails on 31th bind:
>
> echo -n '0000:05:00.6' > /sys/bus/pci/drivers/snd_hda_intel/bind
> -bash: echo: write error: No such device
>
> And does not recover from there until a reboot.

This is intended behavior. The driver has a static device index that
is incremented at each probe, so that the driver may probe multiple
instances. It'll be tricky to reset this for dynamic binding,
though. This problem is not only for HD-audio but for most of other
drivers. But I leave this as is for now, since the dynamic binding is
rarely used for PCI and other buses, so far.


Takashi

\
 
 \ /
  Last update: 2022-01-31 15:57    [W:0.085 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site