Messages in this thread | | | Date | Fri, 28 Aug 2015 19:46:09 -0300 | Subject | Re: [PATCH] mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal | From | Ezequiel Garcia <> |
| |
Robert,
On 24 August 2015 at 15:24, Robert Jarzmik <robert.jarzmik@free.fr> wrote: > Ezequiel Garcia <ezequiel@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. >
Yeah, it's far from pretty.
OK, another idea. How about this:
#define NFCV2_NDCR_STOP_ON_UNCOR (0x1 << 19) #define NFCV1_NDCR_ARB_CNTL (0x1 << 19)
Or maybe I'm just bike-shedding here? I figured it's important to document the bit has different meanings in different hardware versions.
Anyway, just submit a v2 with whatever you feel it's less ugly.
>>> @@ -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.
Right, seems not shared.
> 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. > */ >
That'll work. Feel free to send a v2. -- Ezequiel García, VanguardiaSur www.vanguardiasur.com.ar
| |