On 04/21/2016 06:51 AM, Marek Vasut wrote: >>>> >>>> if you modify the patch to call stmmac_dvr_probe() before calling >>>> socfpga_dwmac_init(), then you would already have the reset control >>>> information. >>> >>> I was under the impression that you must call socfpga_dwmac_init() >>> before stmmac_dvr_probe() for whatever hardware-related reason. If >>> you are absolutely certain this is not necessary, then that's just >>> perfect and the patch can be simplified even further -- just remove >>> the call to socfpga_dwmac_init() from probe altogether , the dwmac >>> core code will call plat_dat->init at the end of probe . >>> >>> So shall we do that ? I am happy to spin V3 like that if you confirm >>> that it's legal to do things in the aforementioned order. >>> >> >> AFAICT, I don't see any reason why the socfpga_dwmac_init() has to go >> before the stmmac_dvr_probe(). I tested this by using U-Boot to put the >> PHY modes in the system manager into a different mode, and put the >> ethernet IP into reset. Linux was able to use ethernet just fine with >> the aformentioned order. > > Ha, the dwmac code does not call the ->init, so you have to call it from > the socfpga-dwmac probe afterall. I will send a V3 now and do > it just like you suggested. I will send a RFC for calling ->init and > ->exit from the stmmac common code too. >
Yes, I saw this too. Was going to wait until after this patch to follow-up. Looks like you already did! Thanks! Dinh