RE: [PATCH v2] radeon: Deinline indirect register accessor functions

From: Deucher, Alexander
Date: Mon May 18 2015 - 20:39:25 EST


> -----Original Message-----
> From: Denys Vlasenko [mailto:vda.linux@xxxxxxxxxxxxxx]
> Sent: Monday, May 18, 2015 6:50 PM
> To: Koenig, Christian
> Cc: Denys Vlasenko; Deucher, Alexander; Linux Kernel Mailing List
> Subject: Re: [PATCH v2] radeon: Deinline indirect register accessor functions
>
> On Mon, May 18, 2015 at 9:09 PM, Christian KÃnig
> <christian.koenig@xxxxxxx> wrote:
> >> r600_uvd_ctx_rreg: 111 bytes, 4 callsites
> >> r600_uvd_ctx_wreg: 113 bytes, 5 callsites
> >> eg_pif_phy0_rreg: 106 bytes, 13 callsites
> >> eg_pif_phy0_wreg: 108 bytes, 13 callsites
> >> eg_pif_phy1_rreg: 107 bytes, 13 callsites
> >> eg_pif_phy1_wreg: 108 bytes, 13 callsites
> >> rv370_pcie_rreg: 111 bytes, 21 callsites
> >> rv370_pcie_wreg: 113 bytes, 24 callsites
> >> r600_rcu_rreg: 111 bytes, 16 callsites
> >> r600_rcu_wreg: 113 bytes, 25 callsites
> >> cik_didt_rreg: 106 bytes, 10 callsites
> >> cik_didt_wreg: 107 bytes, 10 callsites
> >> tn_smc_rreg: 106 bytes, 126 callsites
> >> tn_smc_wreg: 107 bytes, 116 callsites
> >> eg_cg_rreg: 107 bytes, 20 callsites
> >> eg_cg_wreg: 108 bytes, 52 callsites
>
> > Sorry haven't noticed that before:
> >
> > radeon_device.c is most likely not the right place for the non-inlined
> > functions. Please move them into to the appropriate files for each
> > generation.
>
> Will do (probably tomorrow, not today).

Is this whole exercise really worthwhile? This will be the 3rd or 4th time these have been inlined/uninlined.

>
> Can you help me here a bit?
> There are LOTS of *.c files in drm/radeon/.
> I guess r600_ functions should go into r600.c,

Yes.

> rv370_ to rv730_dpm.c (right?),

No. rv370_ should go in r300.c

> but some of the function names are less clear (to me).
>
> Where would you like eg_pif_phyN_r/wreg() go? evergreen.c?

Yes.

> Should eg_cg_r/wreg() also go to this file?

Yes.

>
> cik_didt_r/wreg() - to cik.c?

Yes.

>
> tn_smc_r/wreg()? Is tn = trinity? so, trinity_smc.c?

ni.c

Alex

N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå