At Thu, 23 May 2002 10:20:38 -0400, Paul Davis wrote: > > >but still one thing is not certain. what does the following (in > >snd_hdsp_initialize_firmware) set? > > > > #ifdef SNDRV_BIG_ENDIAN > > hdsp_write(hdsp, HDSP_jtagReg, HDSP_BIGENDIAN_MODE); > > #endif > > > >does it switch the access to big-endian? if yes, then we need > >cpu_to_xxx things there (to revert the conversion in readX/writeX), or > >use __raw_readX/writeX for access. > > No, this switches *only* the byte order of audio data. The registers > are always little endian.
ok. now i removed all cpu_to_xxx and xxx_to_cpu from hdsp.c. the firmware data is reformatted using u32 arrays, in order to avoid endian conversion on BE machines. (remember that writel itsels does conversion on ppc.) also, converting from char * to int * might be invalid on some architectures due to alignment problem... anyway this should work on i386 well. please revert cvs version if you have any problems. Takashi _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel