On 5/14/2013 3:49 PM, Michal Simek wrote: > On 05/14/2013 09:31 AM, Hein Tibosch wrote: >> On 5/14/2013 3:22 PM, Jean-Christophe PLAGNIOL-VILLARD wrote: >>> On May 14, 2013, at 3:18 PM, Hein Tibosch <[email protected]> wrote: >>> >>>> On 5/14/2013 1:52 PM, Jean-Christophe PLAGNIOL-VILLARD wrote: >>>>> On 08:58 Tue 14 May , Hein Tibosch wrote: >>>>>> On 5/14/2013 12:05 AM, Jean-Christophe PLAGNIOL-VILLARD wrote: >>>>>>> On May 14, 2013, at 12:05 AM, Nicolas Ferre <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Commit 749a2b6 (net/macb: clear tx/rx completion flags in ISR) >>>>>>>> introduces clear-on-write on ISR register. This behavior is not always >>>>>>>> implemented when using Cadence MACB/GEM and is breaking other >>>>>>>> platforms. >>>>>>>> We are using a new Device Tree compatibility string and a capability >>>>>>>> property to actually activate this clear-on-write behavior on ISR. >>>>>>>> >>>>>>>> Reported-by: Hein Tibosch <[email protected]> >>>>>>>> Signed-off-by: Nicolas Ferre <[email protected]> >>>>>>> can we detect it via the IP? >>>>>> This was my first proposal, have it based on the value of MACB's >>>>>> register 'MID' (offset 0x00fc, lower 16 bits). >>>>>> On avr32 it reads: 0x0000010D, on Zynq it reports 0x00000119 >>>>>> >>>>>> So for the moment, CAPS_ISR_CLEAR_ON_WRITE could be set if the revision >>>>>> equals to 0x00000119? >>>>> so no it will not work >>>>> >>>>> as the gem on sama5 is 00020119 >>>>> >>>>> so version 0x119 too >>>>> >>>>> nico >>>> All right, that's a pity. >>>> >>>> The only issue that remains then is the obligation to use CONFIG_OF, >>>> or: >>>> >>>> +#if defined(CONFIG_OF) >>>> + dev_id = of_match_device(macb_dt_ids, &pdev->dev); >>>> + if (dev_id) >>>> + bp->caps = (u32)dev_id->data; >>>> + >>>> +#endif >>>> >>>> ? >>> no need as of_match_device is a inline of !OF >> Sorry, here's the complete compiler error: >> drivers/net/ethernet/cadence/macb.c: In function 'macb_probe': >> drivers/net/ethernet/cadence/macb.c:1601: error: 'macb_dt_ids' undeclared >> (first use in this function) >> >> Earlier, 'macb_dt_ids' is only defined when using OF > The trick is in using of_match_ptr. It means remove that CONFIG_OF around > macb_dt_ids too. > > [linux-2.6.x]$ grep -rn "of_match_ptr" include/linux/ > include/linux/of.h:314:#define of_match_ptr(_ptr) (_ptr) > include/linux/of.h:508:#define of_match_ptr(_ptr) NULL yes of course, clever.
I tested the patch with that change on my avr32 platform and like to add: Reported-by: Hein Tibosch <[email protected]> Tested-by: Hein Tibosch <[email protected]> Thanks, Hein -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

