#2319 BLOC Trial-3: Horrible noise in TamTam upon resume

Zarro Boogs per Child bugtracker at laptop.org
Mon Aug 27 03:33:05 EDT 2007


#2319: Horrible noise  in TamTam upon resume
----------------------+-----------------------------------------------------
  Reporter:  ethrop   |       Owner:  dilinger
      Type:  defect   |      Status:  new     
  Priority:  blocker  |   Milestone:  Trial-3 
 Component:  kernel   |     Version:          
Resolution:           |    Keywords:          
  Verified:  0        |  
----------------------+-----------------------------------------------------
Comment (by dilinger):

 The DMA pointer registers are read-only; they should remain untouched.
 The PRD stuff is already saved/restored, though my presumption is that
 they contain incorrect data ( orone of the control flags in the PRD table
 is wrong, and we run off into random memory).  There is currently a race
 in the suspend/resume stuff (we save the PRD registers, *then* disable
 DMA; that's backwards.  We also enable DMA and then restore PRD registers
 in the resume path), but fixing that doesn't fix the error.

 We only care about 2 BMs; 0 (playback) and 1 (capture).  Their respective
 control fields shouldn't require additional twiddling on suspend/resume,
 as we only use it for enabling/disabling DMA.

 I don't quite understand wtf we're doing with the DMA descriptors in the
 driver (ie, cs5535audio_build_dma_packets); the mapping of alsa DMA
 descriptors to the driver's descriptors could very well be wrong.
 Alternatively, when we tear down the alsa sound stuff in suspend, we may
 also be horking those DMA bufs/descriptors.  Needs further investigation.
 In terms of other bugs, we're treating the BM control register(s) as 32
 bit rather than 8 bit fields, we're disabling the pci device before saving
 its state, etc.. I'll submit patches for those upstream after we figure
 out this bug.

-- 
Ticket URL: <http://dev.laptop.org/ticket/2319#comment:10>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list