> Date: Sat, 4 Jun 2011 22:43:04 +0200
> From: Christian Weisgerber <[email protected]>
> 
> I put a Sweex SC015 cmpci(4) card that I had successfully tested
> on amd64 into a sparc64 and got an unaligned access panic.
> 
> The problem is that we use bus_space_{read,write}_4() to access a
> register at 0x92.  Instead, assume it's a 32-bit register at 0x90
> like the other registers and in agreement with the Linux driver:
> http://lxr.linux.no/#linux+v2.6.39/sound/pci/cmipci.c#L368
> 
> With this I can play stereo audio over analog and S/PDIF on the
> sparc64.
> 
> ok?

makes sense to me; ok kettenis@

> Index: cmpcireg.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/cmpcireg.h,v
> retrieving revision 1.4
> diff -u -p -r1.4 cmpcireg.h
> --- cmpcireg.h        6 May 2009 22:25:57 -0000       1.4
> +++ cmpcireg.h        4 Jun 2011 19:28:46 -0000
> @@ -230,8 +230,8 @@
>  #define CMPCI_REG_DMA1_BYTES         0x8C
>  #define CMPCI_REG_DMA1_SAMPLES               0x8E
>  
> -#define CMPCI_REG_8768_MISC          0x92
> -#define   CMPCI_REG_CHB3D8C          0x20
> +#define CMPCI_REG_8768_MISC          0x90
> +#define   CMPCI_REG_CHB3D8C          0x00200000
>  
>  /* sample rate */
>  #define CMPCI_REG_RATE_5512          0

Reply via email to