linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: SPI controller hangs in 2.6 and not in 2.4 (on MPC875)
@ 2007-02-25 14:52 melinda develey
  0 siblings, 0 replies; 3+ messages in thread
From: melinda develey @ 2007-02-25 14:52 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 325 bytes --]

I have the same problem with an MPC875, I suspect there is a problem in the linux kernel. I'm using linux kernel 2.6.19 from denk and what's the version you are using?

Bye,
Antonio.


 
---------------------------------
We won't tell. Get more on shows you hate to love
(and love to hate): Yahoo! TV's Guilty Pleasures list.

[-- Attachment #2: Type: text/html, Size: 497 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* SPI controller hangs in 2.6 and not in 2.4 (on MPC875)
@ 2007-02-25 19:51 DI BACCO ANTONIO - technolabs
  2007-02-26  7:41 ` Vitaly Bordug
  0 siblings, 1 reply; 3+ messages in thread
From: DI BACCO ANTONIO - technolabs @ 2007-02-25 19:51 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 897 bytes --]

Hi Melinda,

the problem in my case was caused by the following instructions to allocate the buffers for SPI controller tx and rx:

        rxbuffer = (u8*)m8xx_cpm_hostalloc(SPI_MAX_BUFFER_SIZE);  
        txbuffer = (u8*)m8xx_cpm_hostalloc(SPI_MAX_BUFFER_SIZE); 
        // Set the bd's rx and tx buffer address pointers
        rbdf->cbd_bufaddr = virt_to_bus((void *)rxbuffer);                                 
        tbdf->cbd_bufaddr = virt_to_bus((void *)txbuffer);   

I don't know why (I'm asking an opinion to Vitaly Bordug), I replaced the allocation of rx and tx buffers with:

...->cbd_bufaddr = __pa(__get_free_page(GFP_KERNEL | GFP_DMA))

but it will better to use dma_alloc_coherent.
In my case the use of m8xx_cpm_hostalloc led to an immediate kernel hang after giving the start command to the spi controller.

Bye,
Antonio.


                             

[-- Attachment #2: Type: text/html, Size: 1876 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: SPI controller hangs in 2.6 and not in 2.4 (on MPC875)
  2007-02-25 19:51 SPI controller hangs in 2.6 and not in 2.4 (on MPC875) DI BACCO ANTONIO - technolabs
@ 2007-02-26  7:41 ` Vitaly Bordug
  0 siblings, 0 replies; 3+ messages in thread
From: Vitaly Bordug @ 2007-02-26  7:41 UTC (permalink / raw)
  To: DI BACCO ANTONIO - technolabs; +Cc: linuxppc-embedded

On Sun, 25 Feb 2007 20:51:12 +0100
DI BACCO ANTONIO - technolabs wrote:

> Hi Melinda,
> 
> the problem in my case was caused by the following instructions to
> allocate the buffers for SPI controller tx and rx:
> 
>         rxbuffer = (u8*)m8xx_cpm_hostalloc(SPI_MAX_BUFFER_SIZE);  
>         txbuffer = (u8*)m8xx_cpm_hostalloc(SPI_MAX_BUFFER_SIZE); 
>         // Set the bd's rx and tx buffer address pointers
>         rbdf->cbd_bufaddr = virt_to_bus((void
> *)rxbuffer); tbdf->cbd_bufaddr = virt_to_bus((void *)txbuffer);   
> 
> I don't know why (I'm asking an opinion to Vitaly Bordug), I replaced
> the allocation of rx and tx buffers with:
> 
> ...->cbd_bufaddr = __pa(__get_free_page(GFP_KERNEL | GFP_DMA))
> 
Well this is just evil... even if it works :)


> but it will better to use dma_alloc_coherent.
> In my case the use of m8xx_cpm_hostalloc led to an immediate kernel
> hang after giving the start command to the spi controller.
> 
Heh, this case you'lll have to use dpram for the buffers I guess iiuc.

dma_* stuff might work too but I'm not sure. Moreover, it didn't work  for 
me in case of powerpc, where m8xx_cpm_hostalloc made as a placeholder for 
dma_alloc_coherent...

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-02-26  7:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-25 19:51 SPI controller hangs in 2.6 and not in 2.4 (on MPC875) DI BACCO ANTONIO - technolabs
2007-02-26  7:41 ` Vitaly Bordug
  -- strict thread matches above, loose matches on Subject: below --
2007-02-25 14:52 melinda develey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).