[PATCH] mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal

Robert Jarzmik robert.jarzmik at free.fr
Mon Aug 24 11:24:03 PDT 2015


Ezequiel Garcia <ezequiel at vanguardiasur.com.ar> writes:

> Should we worry about having two definitions for the same bit?
> Would it be too ugly to mix the two meaning? Something like this:
>
> /* This bit has two different meanings on NFCv1 and NFCv2 */
> #define NDCR_STOP_ON_UNCOR_ARB_CNTL (0x1 << 19)
I don't find that very pretty, but if you want I can put that in the patch
instead.

>> @@ -1784,6 +1787,8 @@ static int pxa3xx_nand_remove(struct platform_device *pdev)
>>  		free_irq(irq, info);
>>  	pxa3xx_nand_free_buff(info);
>>  
>
> I think a comment here explaining how this disables DFI arbitration and
> how clearing it grants DFI access to SMC only.
>
> While here, we might want to document how the whole arbiter applies to
> PXA only, since the DFI bus is shared there.
Ok, for v2. I take it that DFI bus is not shared on Armada, lucky you. Maybe
something like :

/*
 * In the pxa3xx case, the DFI bus is shared between the SMC and NFC. In order
 * to prevent a lockup of the system bus, the DFI bus arbitration is granted
 * to SMC upon driver removal. This is done by setting the x_ARB_CNTL bit,
 * which also prevents the NAND to have access to the bus anymore.
 */

Cheers.

-- 
Robert



More information about the linux-mtd mailing list