From: Sascha Hauer <s.hauer@pengutronix.de> To: linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 4/5] fb: Add DCU framebuffer driver for Vybrid VF610 platform Date: Mon, 05 Aug 2013 10:06:30 +0000 [thread overview] Message-ID: <20130805100630.GQ26614@pengutronix.de> (raw) In-Reply-To: <81BA6E5E0BC2344391CABCEE22D1B6D83CA6F0@039-SN1MPN1-002.039d.mgd.msft.net> On Mon, Aug 05, 2013 at 09:51:40AM +0000, Wang Huan-B18965 wrote: > Hi, Sascha, > > > On Fri, Jul 12, 2013 at 02:07:55PM +0800, Alison Wang wrote: > > > The Display Controller Unit (DCU) module is a system master that > > > fetches graphics stored in internal or external memory and displays > > > them on a TFT LCD panel. A wide range of panel sizes is supported and > > > the timing of the interface signals is highly configurable. > > > Graphics are read directly from memory and then blended in real-time, > > > which allows for dynamic content creation with minimal CPU > > intervention. > > > > Only a review of the code inline. > > > > Maybe the real question is whether we want to introduce another > > framebuffer driver at all instead of making it a DRM driver. > [Alison Wang] I think DCU module is more suitable to be designed as a framebuffer driver than a DRM driver. Just like DIU framebuffer driver for PowerPC. > > > > > + > > > +#define DRIVER_NAME "fsl-dcu-fb" > > > + > > > +#define DCU_DCU_MODE 0x0010 > > > +#define DCU_MODE_BLEND_ITER(x) (x << 20) > > > > What's the result of DCU_MODE_BLEND_ITER(1 + 1)? > [Alison Wang] Is it really necessary? I don't use this macro like DCU_MODE_BLEND_ITER(1 + 1), just use DCU_MODE_BLEND_ITER(2). <irony> No it's not necessary. We can just add incorrect macros everywhere and fix them as necessary after a long bug squashing session </irony> YES! This is necessary. > > > + return 0; > > > +} > > > + > > > +static int calc_div_ratio(struct fb_info *info) { > > > > Use a consistent namespace for function names (fsl_dcu_) > [Alison Wang] Is it necessary to use a consistent namespace for this generic function? I think it is necessary to use a consistent namespace (fsl_dcu_) for the function names in structure fsl_dcu_ops. This function calculates some divider out of a struct fb_info. This is by no means generic. > > > + if (copy_to_user(buf, &alpha, sizeof(alpha))) > > > + return -EFAULT; > > > + break; > > > + case MFB_SET_ALPHA: > > > + if (copy_from_user(&alpha, buf, sizeof(alpha))) > > > + return -EFAULT; > > > + mfbi->blend = 1; > > > + mfbi->alpha = alpha; > > > + fsl_dcu_set_par(info); > > > + break; > > > > Is it still state of the art to introduce ioctls in the fb framework > > without any kind of documentation? > [Alison Wang] Do you mean I need to add a documentation in Documentation/fb/? This was more a question to the fb maintainers. > > > +static irqreturn_t fsl_dcu_irq(int irq, void *dev_id) { > > > + struct dcu_fb_data *dcufb = dev_id; > > > + unsigned int status = readl(dcufb->reg_base + DCU_INT_STATUS); > > > + u32 dcu_mode; > > > + > > > + if (status) { > > > > Save indendation level by bailing out early. > [Alison Wang] What do you mean? Instead of doing: if (bla) { dothis(); dothat(); return; } return; it's easier to read: if (!bla) return; dothis(); dothat(); return; Note that dothis() and dothat() are one indentation level to the left and thus have more space per line. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
WARNING: multiple messages have this Message-ID (diff)
From: s.hauer@pengutronix.de (Sascha Hauer) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 4/5] fb: Add DCU framebuffer driver for Vybrid VF610 platform Date: Mon, 5 Aug 2013 12:06:30 +0200 [thread overview] Message-ID: <20130805100630.GQ26614@pengutronix.de> (raw) In-Reply-To: <81BA6E5E0BC2344391CABCEE22D1B6D83CA6F0@039-SN1MPN1-002.039d.mgd.msft.net> On Mon, Aug 05, 2013 at 09:51:40AM +0000, Wang Huan-B18965 wrote: > Hi, Sascha, > > > On Fri, Jul 12, 2013 at 02:07:55PM +0800, Alison Wang wrote: > > > The Display Controller Unit (DCU) module is a system master that > > > fetches graphics stored in internal or external memory and displays > > > them on a TFT LCD panel. A wide range of panel sizes is supported and > > > the timing of the interface signals is highly configurable. > > > Graphics are read directly from memory and then blended in real-time, > > > which allows for dynamic content creation with minimal CPU > > intervention. > > > > Only a review of the code inline. > > > > Maybe the real question is whether we want to introduce another > > framebuffer driver at all instead of making it a DRM driver. > [Alison Wang] I think DCU module is more suitable to be designed as a framebuffer driver than a DRM driver. Just like DIU framebuffer driver for PowerPC. > > > > > + > > > +#define DRIVER_NAME "fsl-dcu-fb" > > > + > > > +#define DCU_DCU_MODE 0x0010 > > > +#define DCU_MODE_BLEND_ITER(x) (x << 20) > > > > What's the result of DCU_MODE_BLEND_ITER(1 + 1)? > [Alison Wang] Is it really necessary? I don't use this macro like DCU_MODE_BLEND_ITER(1 + 1), just use DCU_MODE_BLEND_ITER(2). <irony> No it's not necessary. We can just add incorrect macros everywhere and fix them as necessary after a long bug squashing session </irony> YES! This is necessary. > > > + return 0; > > > +} > > > + > > > +static int calc_div_ratio(struct fb_info *info) { > > > > Use a consistent namespace for function names (fsl_dcu_) > [Alison Wang] Is it necessary to use a consistent namespace for this generic function? I think it is necessary to use a consistent namespace (fsl_dcu_) for the function names in structure fsl_dcu_ops. This function calculates some divider out of a struct fb_info. This is by no means generic. > > > + if (copy_to_user(buf, &alpha, sizeof(alpha))) > > > + return -EFAULT; > > > + break; > > > + case MFB_SET_ALPHA: > > > + if (copy_from_user(&alpha, buf, sizeof(alpha))) > > > + return -EFAULT; > > > + mfbi->blend = 1; > > > + mfbi->alpha = alpha; > > > + fsl_dcu_set_par(info); > > > + break; > > > > Is it still state of the art to introduce ioctls in the fb framework > > without any kind of documentation? > [Alison Wang] Do you mean I need to add a documentation in Documentation/fb/? This was more a question to the fb maintainers. > > > +static irqreturn_t fsl_dcu_irq(int irq, void *dev_id) { > > > + struct dcu_fb_data *dcufb = dev_id; > > > + unsigned int status = readl(dcufb->reg_base + DCU_INT_STATUS); > > > + u32 dcu_mode; > > > + > > > + if (status) { > > > > Save indendation level by bailing out early. > [Alison Wang] What do you mean? Instead of doing: if (bla) { dothis(); dothat(); return; } return; it's easier to read: if (!bla) return; dothis(); dothat(); return; Note that dothis() and dothat() are one indentation level to the left and thus have more space per line. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2013-08-05 10:06 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-07-12 6:07 [PATCH v2 0/5] ARM: vf610: Add DCU framebuffer driver for Vybrid VF610 platform Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-12 6:07 ` [PATCH 1/5] ARM: dts: vf610: Add DCU and TCON nodes Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-12 6:07 ` [PATCH 2/5] ARM: dts: vf610-twr: Enable DCU and TCON devices Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-12 6:07 ` [PATCH 3/5] ARM: clk: vf610: Add DCU and TCON clock support Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-12 6:07 ` [PATCH 4/5] fb: Add DCU framebuffer driver for Vybrid VF610 platform Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-29 11:14 ` Sascha Hauer 2013-07-29 11:14 ` Sascha Hauer 2013-08-05 9:51 ` Wang Huan-B18965 2013-08-05 9:51 ` Wang Huan-B18965 2013-08-05 10:06 ` Sascha Hauer [this message] 2013-08-05 10:06 ` Sascha Hauer 2013-08-06 3:42 ` Wang Huan-B18965 2013-08-06 3:42 ` Wang Huan-B18965 2013-08-05 13:09 ` Robert Schwebel 2013-08-05 13:09 ` Robert Schwebel 2013-08-05 14:18 ` Lucas Stach 2013-08-05 14:18 ` Lucas Stach 2013-08-06 7:20 ` Wang Huan-B18965 2013-08-06 7:20 ` Wang Huan-B18965 2014-01-06 18:50 ` Bill Pringlemeir 2014-01-07 9:18 ` Lucas Stach 2014-01-07 20:52 ` Bill Pringlemeir 2014-01-07 21:00 ` Bill Pringlemeir 2013-08-06 8:47 ` Lucas Stach 2013-08-06 8:47 ` Lucas Stach 2013-08-07 8:07 ` Wang Huan-B18965 2013-08-07 8:07 ` Wang Huan-B18965 2013-07-12 6:07 ` [PATCH 5/5] Documentation: DT: Add DCU framebuffer driver Alison Wang 2013-07-12 6:07 ` Alison Wang 2013-07-19 3:49 ` [PATCH v2 0/5] ARM: vf610: Add DCU framebuffer driver for Vybrid VF610 platform Wang Huan-B18965 2013-07-19 3:49 ` Wang Huan-B18965 2013-07-29 6:13 ` Wang Huan-B18965 2013-07-29 6:13 ` Wang Huan-B18965
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=20130805100630.GQ26614@pengutronix.de \ --to=s.hauer@pengutronix.de \ --cc=linux-arm-kernel@lists.infradead.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.