Re: [PATCH 3/8] drm: rcar-du: Give a name to clu table samples
From: Laurent Pinchart
Date: Thu Apr 04 2019 - 06:16:10 EST
Hi Kalakodima,
Thank you for the patch.
PAtches 3/8, 4/8 and 5/8 modify the new
drivers/gpu/drm/rcar-du/rcar_du_cmm.c a file that was introduced in 1/8.
Please squash them all together, there's no point in adding a driver
with known to be incorrect code to then fix it in other patches.
On Wed, Apr 03, 2019 at 06:44:39PM +0530, VenkataRajesh.Kalakodima@xxxxxxxxxxxx wrote:
> From: kalakodima venkata rajesh <venkatarajesh.kalakodima@xxxxxxxxxxxx>
>
> Replace the hardcoded value of clu table sample count with a
> meaningful name.
>
> Signed-off-by: Harsha M M <harsha.manjulamallikarjun@xxxxxxxxxxxx>
>
> This is the out-of-tree patch for DU CMM driver support from
> Yocto release v3.6.0. The part of this patch adding CMM support to
> the new Rcar E3 (R8A77990) SoC was filtered out due to lack of
> Yocto v3.6.0 (i.e. rcar-3.6.2) kernel updates on staging-414.
>
> Link: https://github.com/renesas-rcar/du_cmm/commit/53973b806881ed8f54500b0d42bdc40aaca60476.patch
>
> Following is from the patch description:
>
> Subject: [PATCH] du_cmm: Release for Yocto v3.6.0
>
> This patch made the following correspondence.
>
> - R-Car E3(R8A77990) device support.
> - Fix rewritting of parameter procedure in rcar_du_cmm_postclose
>
> Signed-off-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>
>
> - Resolved checkpatch errors
> - Resolved merge conflicts according to latest version
>
> Signed-off-by: kalakodima venkata rajesh <venkatarajesh.kalakodima@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/rcar-du/rcar_du_cmm.c | 28 +++++++++++++++-------------
> 1 file changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_cmm.c b/drivers/gpu/drm/rcar-du/rcar_du_cmm.c
> index ac613a6e..d380dd9 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_cmm.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_cmm.c
> @@ -75,9 +75,9 @@
> #include <linux/clk.h>
>
> /* #define DEBUG_PROCE_TIME 1 */
> -
> +#define CMM_CLU_SAMPLES 17
> #define CMM_LUT_NUM 256
> -#define CMM_CLU_NUM (17 * 17 * 17)
> +#define CMM_CLU_NUM (CMM_CLU_SAMPLES * CMM_CLU_SAMPLES * CMM_CLU_SAMPLES)
> #define CMM_HGO_NUM 64
> /* rcar_du_drm.h Include */
> #define LUT_DOUBLE_BUFFER_AUTO 0
> @@ -211,11 +211,11 @@ static inline u32 index_to_clu_data(int index)
> {
> int r, g, b;
>
> - r = index % 17;
> - index /= 17;
> - g = index % 17;
> - index /= 17;
> - b = index % 17;
> + r = index % CMM_CLU_SAMPLES;
> + index /= CMM_CLU_SAMPLES;
> + g = index % CMM_CLU_SAMPLES;
> + index /= CMM_CLU_SAMPLES;
> + b = index % CMM_CLU_SAMPLES;
>
> r = (r << 20);
> if (r > (255 << 16))
> @@ -630,9 +630,9 @@ static int clu_table_copy(struct rcar_du_cmm *du_cmm)
> }
>
> rcar_du_cmm_write(du_cmm, dst_addr, 0);
> - for (i = 0; i < 17; i++) {
> - for (j = 0; j < 17; j++) {
> - for (k = 0; k < 17; k++) {
> + for (i = 0; i < CMM_CLU_SAMPLES; i++) {
> + for (j = 0; j < CMM_CLU_SAMPLES; j++) {
> + for (k = 0; k < CMM_CLU_SAMPLES; k++) {
> rcar_du_cmm_write(du_cmm, src_addr,
> (k << 16) | (j << 8) |
> (i << 0));
> @@ -912,9 +912,9 @@ int rcar_du_cmm_pm_suspend(struct rcar_du_crtc *rcrtc)
> }
>
> index = 0;
> - for (i = 0; i < 17; i++) {
> - for (j = 0; j < 17; j++) {
> - for (k = 0; k < 17; k++) {
> + for (i = 0; i < CMM_CLU_SAMPLES; i++) {
> + for (j = 0; j < CMM_CLU_SAMPLES; j++) {
> + for (k = 0; k < CMM_CLU_SAMPLES; k++) {
> rcar_du_cmm_write(du_cmm, CMM_CLU_ADDR,
> (k << 16) | (j << 8) |
> (i << 0));
> @@ -1014,6 +1014,8 @@ void rcar_du_cmm_postclose(struct drm_device *dev, struct drm_file *file_priv)
> for (crtcs_cnt = 0; crtcs_cnt < rcdu->num_crtcs; crtcs_cnt++) {
> rcrtc = &rcdu->crtcs[crtcs_cnt];
> du_cmm = rcrtc->cmm_handle;
> + if (!du_cmm)
> + continue;
> if (du_cmm->authority && du_cmm->pid == task_pid_nr(current)) {
> du_cmm->authority = false;
> du_cmm->pid = 0;
--
Regards,
Laurent Pinchart