On Fri, Apr 10, 2020 at 02:56:53AM +0300, Dmitry Osipenko wrote: > 09.04.2020 20:52, Thierry Reding пишет: > ... > > +#define CLK_RST_CONTROLLER_CLK_SOURCE_EMC 0x19c > ... > > +#define CLK_RST_CONTROLLER_CLK_SOURCE_EMC_DLL 0x664 > > I'd suggest to double check all the macros and remove everything unused, > to not pollute the code. I recall checking most of these, but I'll make another pass to see if I can spot more that I can drop. > ... > > +#define TRIM_REG(chan, rank, reg, byte) \ > > + (((EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ## reg ## \ > > + _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte ## _MASK & \ > > + next->trim_regs[EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## \ > > + rank ## _ ## reg ## _INDEX]) >> \ > > + EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ## reg ## \ > > + _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte ## _SHIFT) \ > > + + \ > > + (((EMC_DATA_BRLSHFT_ ## rank ## _RANK ## rank ## _BYTE ## \ > > + byte ## _DATA_BRLSHFT_MASK & \ > > + next->trim_perch_regs[EMC ## chan ## \ > > + _EMC_DATA_BRLSHFT_ ## rank ## _INDEX]) >> \ > > + EMC_DATA_BRLSHFT_ ## rank ## _RANK ## rank ## _BYTE ## \ > > + byte ## _DATA_BRLSHFT_SHIFT) * 64)) > > + > > +#define CALC_TEMP(rank, reg, byte1, byte2, n) \ > > + (((new[n] << EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ## \ > > + reg ## _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte1 ## _SHIFT) & \ > > + EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ## reg ## \ > > + _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte1 ## _MASK) \ > > + | \ > > + ((new[n + 1] << EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ##\ > > + reg ## _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte2 ## _SHIFT) & \ > > + EMC_PMACRO_OB_DDLL_LONG_DQ_RANK ## rank ## _ ## reg ## \ > > + _OB_DDLL_LONG_DQ_RANK ## rank ## _BYTE ## byte2 ## _MASK)) > > My eyes.. :P Heh... yes, this is pretty bad. At least the code at the callsites is clean. Thierry
Attachment:
signature.asc
Description: PGP signature