[alsa-devel] via_dmapos_patch
I'm researching a few bugs where the user claims position_fix=1 helps the problem, but adding the quirk for that model surprisingly didn't. So looking at the code, I concluded that the difference was via_dmapos_patch, and that they all had via_dmapos_patch=1, and that via_dmapos_patch=0 helped them solve the problem. Three out of five (not all of them have reported back on via_dmapos_patch=0 yet) are VIA controllers rev 10.
So we now have VIA controllers that need via_dmapos_patch=0.
I can think of a few approaches here:
1) since position_fix=1 implicitly sets via_dmapos_patch to 0 (maybe unintentionally), we should add a position_fix=3 meaning lpib + via_dmapos_patch=1
2) figure if something has changed recently (as in "within the last year"...) that has made via_dmapos_patch=1 work worse than before
3) figure out if there are several ATI/VIA controllers that actually never wants the patch.
Any thoughts?
At Wed, 29 Sep 2010 10:14:49 +0200, David Henningsson wrote:
I'm researching a few bugs where the user claims position_fix=1 helps the problem, but adding the quirk for that model surprisingly didn't. So looking at the code, I concluded that the difference was via_dmapos_patch, and that they all had via_dmapos_patch=1, and that via_dmapos_patch=0 helped them solve the problem. Three out of five (not all of them have reported back on via_dmapos_patch=0 yet) are VIA controllers rev 10.
So we now have VIA controllers that need via_dmapos_patch=0.
I can think of a few approaches here:
- since position_fix=1 implicitly sets via_dmapos_patch to 0 (maybe
unintentionally), we should add a position_fix=3 meaning lpib + via_dmapos_patch=1
- figure if something has changed recently (as in "within the last
year"...) that has made via_dmapos_patch=1 work worse than before
- figure out if there are several ATI/VIA controllers that actually
never wants the patch.
Any thoughts?
All sound as reasonable proposals. The 1 is easy. David, could you care to send a patch?
2 and 3 aren't trivial, but we can start by disabling via_dmapos for recent revisions. Since it can be controlled over a module option by the fix 1, it'll be easier to check the regression.
thanks,
Takashi
On 2010-09-30 08:58, Takashi Iwai wrote:
At Wed, 29 Sep 2010 10:14:49 +0200, David Henningsson wrote:
I'm researching a few bugs where the user claims position_fix=1 helps the problem, but adding the quirk for that model surprisingly didn't. So looking at the code, I concluded that the difference was via_dmapos_patch, and that they all had via_dmapos_patch=1, and that via_dmapos_patch=0 helped them solve the problem. Three out of five (not all of them have reported back on via_dmapos_patch=0 yet) are VIA controllers rev 10.
So we now have VIA controllers that need via_dmapos_patch=0.
I'm cc:ing Joseph here. You were the one writing via_dmapos_patch originally, could you confirm the suspicion that VIA controller rev 10 (and possibly more) actually should have via_dmapos_patch turned off?
I can think of a few approaches here:
- since position_fix=1 implicitly sets via_dmapos_patch to 0 (maybe
unintentionally), we should add a position_fix=3 meaning lpib + via_dmapos_patch=1
- figure if something has changed recently (as in "within the last
year"...) that has made via_dmapos_patch=1 work worse than before
- figure out if there are several ATI/VIA controllers that actually
never wants the patch.
Any thoughts?
All sound as reasonable proposals. The 1 is easy. David, could you care to send a patch?'
Something like this (untested)?
2 and 3 aren't trivial, but we can start by disabling via_dmapos for recent revisions.Since it can be controlled over a module option by the fix 1, it'll be easier to check the regression.
At Thu, 30 Sep 2010 10:39:30 +0200, David Henningsson wrote:
On 2010-09-30 08:58, Takashi Iwai wrote:
At Wed, 29 Sep 2010 10:14:49 +0200, David Henningsson wrote:
I'm researching a few bugs where the user claims position_fix=1 helps the problem, but adding the quirk for that model surprisingly didn't. So looking at the code, I concluded that the difference was via_dmapos_patch, and that they all had via_dmapos_patch=1, and that via_dmapos_patch=0 helped them solve the problem. Three out of five (not all of them have reported back on via_dmapos_patch=0 yet) are VIA controllers rev 10.
So we now have VIA controllers that need via_dmapos_patch=0.
I'm cc:ing Joseph here. You were the one writing via_dmapos_patch originally, could you confirm the suspicion that VIA controller rev 10 (and possibly more) actually should have via_dmapos_patch turned off?
I can think of a few approaches here:
- since position_fix=1 implicitly sets via_dmapos_patch to 0 (maybe
unintentionally), we should add a position_fix=3 meaning lpib + via_dmapos_patch=1
- figure if something has changed recently (as in "within the last
year"...) that has made via_dmapos_patch=1 work worse than before
- figure out if there are several ATI/VIA controllers that actually
never wants the patch.
Any thoughts?
All sound as reasonable proposals. The 1 is easy. David, could you care to send a patch?'
Something like this (untested)?
Looks good. Applied now.
thanks,
Takashi
participants (2)
-
David Henningsson
-
Takashi Iwai