From: Thomas Zimmermann <tzimmermann@suse.de>
To: Tian Tao <tiantao6@hisilicon.com>
Cc: <airlied@linux.ie>, <daniel@ffwll.ch>, <kraxel@redhat.com>,
<alexander.deucher@amd.com>, <tglx@linutronix.de>,
<dri-devel@lists.freedesktop.org>, <xinliang.liu@linaro.org>,
<linux-kernel@vger.kernel.org>, <linuxarm@huawei.com>
Subject: Re: [PATCH drm/hisilicon 1/2] drm/hisilicon: Use the same style of variable type in hibmc_drm_de
Date: Wed, 14 Oct 2020 13:58:33 +0200 [thread overview]
Message-ID: <20201014135833.285ee0e2@linux-uq9g> (raw)
In-Reply-To: <1601449988-41463-2-git-send-email-tiantao6@hisilicon.com>
Hi,
reviews take a while as I'm very busy ATM.
On Wed, 30 Sep 2020 15:13:07 +0800 Tian Tao <tiantao6@hisilicon.com> wrote:
> Consistently Use the same style of variable type in hibmc_drm_de.c.
>
> Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
> ---
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c | 59
> +++++++++++++------------- 1 file changed, 29 insertions(+), 30 deletions(-)
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c index a3a9e0a..c54f93d
> 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
> @@ -23,15 +23,15 @@
> #include "hibmc_drm_regs.h"
>
> struct hibmc_display_panel_pll {
> - unsigned long M;
> - unsigned long N;
> - unsigned long OD;
> - unsigned long POD;
> + u64 M;
> + u64 N;
> + u64 OD;
> + u64 POD;
> };
>
> struct hibmc_dislay_pll_config {
> - unsigned long hdisplay;
> - unsigned long vdisplay;
> + u64 hdisplay;
> + u64 vdisplay;
> u32 pll1_config_value;
> u32 pll2_config_value;
> };
> @@ -102,7 +102,7 @@ static void hibmc_plane_atomic_update(struct drm_plane
> *plane, struct drm_plane_state *state = plane->state;
> u32 reg;
> s64 gpu_addr = 0;
> - unsigned int line_l;
> + u32 line_l;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(plane->dev);
> struct drm_gem_vram_object *gbo;
>
> @@ -155,10 +155,10 @@ static const struct drm_plane_helper_funcs
> hibmc_plane_helper_funcs = { .atomic_update = hibmc_plane_atomic_update,
> };
>
> -static void hibmc_crtc_dpms(struct drm_crtc *crtc, int dpms)
> +static void hibmc_crtc_dpms(struct drm_crtc *crtc, u32 dpms)
> {
> struct hibmc_drm_private *priv = to_hibmc_drm_private(crtc->dev);
> - unsigned int reg;
> + u32 reg;
>
> reg = readl(priv->mmio + HIBMC_CRT_DISP_CTL);
> reg &= ~HIBMC_CRT_DISP_CTL_DPMS_MASK;
> @@ -172,7 +172,7 @@ static void hibmc_crtc_dpms(struct drm_crtc *crtc, int
> dpms) static void hibmc_crtc_atomic_enable(struct drm_crtc *crtc,
> struct drm_crtc_state *old_state)
> {
> - unsigned int reg;
> + u32 reg;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(crtc->dev);
>
> hibmc_set_power_mode(priv, HIBMC_PW_MODE_CTL_MODE_MODE0);
> @@ -191,7 +191,7 @@ static void hibmc_crtc_atomic_enable(struct drm_crtc
> *crtc, static void hibmc_crtc_atomic_disable(struct drm_crtc *crtc,
> struct drm_crtc_state *old_state)
> {
> - unsigned int reg;
> + u32 reg;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(crtc->dev);
>
> hibmc_crtc_dpms(crtc, HIBMC_CRT_DPMS_OFF);
> @@ -212,7 +212,7 @@ static enum drm_mode_status
> hibmc_crtc_mode_valid(struct drm_crtc *crtc,
> const struct drm_display_mode *mode)
> {
> - int i = 0;
> + u32 i = 0;
This is a counter against ARRAY_SIZE. i should be of type 'size_t'.
> int vrefresh = drm_mode_vrefresh(mode);
>
> if (vrefresh < 59 || vrefresh > 61)
> @@ -227,9 +227,9 @@ hibmc_crtc_mode_valid(struct drm_crtc *crtc,
> return MODE_BAD;
> }
>
> -static unsigned int format_pll_reg(void)
> +static u32 format_pll_reg(void)
> {
> - unsigned int pllreg = 0;
> + u32 pllreg = 0;
> struct hibmc_display_panel_pll pll = {0};
>
> /*
> @@ -249,7 +249,7 @@ static unsigned int format_pll_reg(void)
> return pllreg;
> }
>
> -static void set_vclock_hisilicon(struct drm_device *dev, unsigned long pll)
> +static void set_vclock_hisilicon(struct drm_device *dev, u64 pll)
> {
> u32 val;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(dev);
> @@ -279,11 +279,10 @@ static void set_vclock_hisilicon(struct drm_device
> *dev, unsigned long pll) writel(val, priv->mmio + CRT_PLL1_HS);
> }
>
> -static void get_pll_config(unsigned long x, unsigned long y,
> - u32 *pll1, u32 *pll2)
> +static void get_pll_config(u64 x, u64 y, u32 *pll1, u32 *pll2)
> {
> - int i;
> - int count = ARRAY_SIZE(hibmc_pll_table);
> + u32 i;
> + u32 count = ARRAY_SIZE(hibmc_pll_table);
These variables should also be size_t.
>
> for (i = 0; i < count; i++) {
> if (hibmc_pll_table[i].hdisplay == x &&
> @@ -306,11 +305,11 @@ static void get_pll_config(unsigned long x, unsigned
> long y,
> * FPGA only supports 7 predefined pixel clocks, and clock select is
> * in bit 4:0 of new register 0x802a8.
> */
> -static unsigned int display_ctrl_adjust(struct drm_device *dev,
> - struct drm_display_mode *mode,
> - unsigned int ctrl)
> +static u32 display_ctrl_adjust(struct drm_device *dev,
> + struct drm_display_mode *mode,
> + u32 ctrl)
> {
> - unsigned long x, y;
> + u64 x, y;
> u32 pll1; /* bit[31:0] of PLL */
> u32 pll2; /* bit[63:32] of PLL */
> struct hibmc_drm_private *priv = to_hibmc_drm_private(dev);
> @@ -358,12 +357,12 @@ static unsigned int display_ctrl_adjust(struct
> drm_device *dev,
> static void hibmc_crtc_mode_set_nofb(struct drm_crtc *crtc)
> {
> - unsigned int val;
> + u32 val;
> struct drm_display_mode *mode = &crtc->state->mode;
> struct drm_device *dev = crtc->dev;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(dev);
> - int width = mode->hsync_end - mode->hsync_start;
> - int height = mode->vsync_end - mode->vsync_start;
> + u32 width = mode->hsync_end - mode->hsync_start;
> + u32 height = mode->vsync_end - mode->vsync_start;
>
> writel(format_pll_reg(), priv->mmio + HIBMC_CRT_PLL_CTRL);
> writel(HIBMC_FIELD(HIBMC_CRT_HORZ_TOTAL_TOTAL, mode->htotal - 1) |
> @@ -393,7 +392,7 @@ static void hibmc_crtc_mode_set_nofb(struct drm_crtc
> *crtc) static void hibmc_crtc_atomic_begin(struct drm_crtc *crtc,
> struct drm_crtc_state *old_state)
> {
> - unsigned int reg;
> + u32 reg;
> struct drm_device *dev = crtc->dev;
> struct hibmc_drm_private *priv = to_hibmc_drm_private(dev);
>
> @@ -446,15 +445,15 @@ static void hibmc_crtc_load_lut(struct drm_crtc *crtc)
> struct hibmc_drm_private *priv = to_hibmc_drm_private(crtc->dev);
> void __iomem *mmio = priv->mmio;
> u16 *r, *g, *b;
> - unsigned int reg;
> - int i;
> + u32 reg;
> + u32 i;
This one's correct because crtc->gamma_size is uint32_t.
With my comments addressed:
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Best regards
Thomas
>
> r = crtc->gamma_store;
> g = r + crtc->gamma_size;
> b = g + crtc->gamma_size;
>
> for (i = 0; i < crtc->gamma_size; i++) {
> - unsigned int offset = i << 2;
> + u32 offset = i << 2;
> u8 red = *r++ >> 8;
> u8 green = *g++ >> 8;
> u8 blue = *b++ >> 8;
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
next prev parent reply other threads:[~2020-10-14 11:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-30 7:13 [PATCH drm/hisilicon 0/2] Use the same style of variable type Tian Tao
2020-09-30 7:13 ` [PATCH drm/hisilicon 1/2] drm/hisilicon: Use the same style of variable type in hibmc_drm_de Tian Tao
2020-10-14 11:58 ` Thomas Zimmermann [this message]
2020-09-30 7:13 ` [PATCH drm/hisilicon 2/2] drm/hisilicon: Use the same style of variable type in hibmc_drm_drv Tian Tao
2020-10-14 12:02 ` Thomas Zimmermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201014135833.285ee0e2@linux-uq9g \
--to=tzimmermann@suse.de \
--cc=airlied@linux.ie \
--cc=alexander.deucher@amd.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=kraxel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=tglx@linutronix.de \
--cc=tiantao6@hisilicon.com \
--cc=xinliang.liu@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).