RE: DRM Driver implementation question

2019-09-18 Thread Gareth Williams
Hi Laurent,

On Wed, Sep 18, 2019 at 04:04:34PM +, Laurent Pinchart wrote:
> 
> Hi Gareth,
> 
> Sorry for the delayed response, I was travelling for the Linux 
> Plumbers Conference followed by a code camp.
> 
> On Tue, Sep 17, 2019 at 03:27:34PM +, Gareth Williams wrote:
> > Hi Yoshihiro,
> >
> > This looks like an elegant solution that I can implement.
> > Many thanks for pointing me in a good direction.
> >
> > > From: Yoshihiro Shimoda, Sent: Tuesday, September 17, 2019 05:39 
> > > PM
> > >
> > > Hi Gareth,
> > >
> > > > From: Gareth Williams, Sent: Monday, September 16, 2019 10:56 PM
> > > >
> > > > Hi Laurent/Kieran,
> > > >
> > > > I need to upstream a driver for a display controller that within 
> > > > its registers memory region contains registers related to a PWM 
> > > > device. The PWM device is for controlling the backlight of the 
> > > > display.
> > > >
> > > > Ideally, I would like to create a separated driver for the PWM, 
> > > > so that I can re-use "pwm-backlight", but since the registers 
> > > > for the PWM are right in the middle of the registers for the 
> > > > display controller I would need to ioremap the memory region for 
> > > > the PWM registers region twice, once from the display controller 
> > > > driver, and once from the PWM driver.
> > > >
> > > > Do you think that the double ioremap would be acceptable upstream?
> > >
> > > I think that an MFD driver can support such hardware. I checked 
> > > Documentation/devicetree/bindings/mfd roughly, and then 
> > > atmel-hlcdc.txt seems to have a display controller and a PWM device.
> 
> While MFD should technically work, I think it's quite overkill. You 
> could instead bundle both the display controller and the PWM 
> controller in the same driver. The driver would create both a DRM/KMS 
> device and a PWM device. The DT node for your device would contain a 
> #pwm-cells property and could thus be referenced as a PWM controller 
> by the backlight using the pwms property.
This makes sense, many thanks for pointing me in the direction.

> 
> --
> Regards,
> 
> Laurent Pinchart

Kind Regards,

Gareth Williams


Re: DRM Driver implementation question

2019-09-18 Thread Laurent Pinchart
Hi Gareth,

Sorry for the delayed response, I was travelling for the Linux Plumbers
Conference followed by a code camp.

On Tue, Sep 17, 2019 at 03:27:34PM +, Gareth Williams wrote:
> Hi Yoshihiro,
> 
> This looks like an elegant solution that I can implement.
> Many thanks for pointing me in a good direction.
> 
> > From: Yoshihiro Shimoda, Sent: Tuesday, September 17, 2019 05:39 PM
> > 
> > Hi Gareth,
> > 
> > > From: Gareth Williams, Sent: Monday, September 16, 2019 10:56 PM
> > >
> > > Hi Laurent/Kieran,
> > >
> > > I need to upstream a driver for a display controller that within its
> > > registers memory region contains registers related to a PWM
> > > device. The PWM device is for controlling the backlight of the
> > > display.
> > >
> > > Ideally, I would like to create a separated driver for the PWM, so
> > > that I can re-use "pwm-backlight", but since the registers for the PWM
> > > are right in the middle of the registers for the display
> > > controller I would need to ioremap the memory region for the PWM
> > > registers region twice, once from the display controller driver,
> > > and once from the PWM driver.
> > >
> > > Do you think that the double ioremap would be acceptable upstream?
> > 
> > I think that an MFD driver can support such hardware. I checked
> > Documentation/devicetree/bindings/mfd roughly, and then atmel-hlcdc.txt
> > seems to have a display controller and a PWM device.

While MFD should technically work, I think it's quite overkill. You
could instead bundle both the display controller and the PWM controller
in the same driver. The driver would create both a DRM/KMS device and a
PWM device. The DT node for your device would contain a #pwm-cells
property and could thus be referenced as a PWM controller by the
backlight using the pwms property.

-- 
Regards,

Laurent Pinchart
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

RE: DRM Driver implementation question

2019-09-17 Thread Gareth Williams
Hi Yoshihiro,

This looks like an elegant solution that I can implement.
Many thanks for pointing me in a good direction.

> From: Yoshihiro Shimoda, Sent: Tuesday, September 17, 2019 05:39 PM
> 
> Hi Gareth,
> 
> > From: Gareth Williams, Sent: Monday, September 16, 2019 10:56 PM
> >
> > Hi Laurent/Kieran,
> >
> > I need to upstream a driver for a display controller that within its
> > registers memory region contains registers related to a PWM device. The
> PWM device is for controlling the backlight of the display.
> > Ideally, I would like to create a separated driver for the PWM, so
> > that I can re-use "pwm-backlight", but since the registers for the PWM
> > are right in the middle of the registers for the display controller I would
> need to ioremap the memory region for the PWM registers region twice,
> once from the display controller driver, and once from the PWM driver.
> > Do you think that the double ioremap would be acceptable upstream?
> 
> I think that an MFD driver can support such hardware. I checked
> Documentation/devicetree/bindings/mfd roughly, and then atmel-hlcdc.txt
> seems to have a display controller and a PWM device.
> 
> Best regards,
> Yoshihiro Shimoda

Best Regards,

Gareth Williams


RE: DRM Driver implementation question

2019-09-16 Thread Yoshihiro Shimoda
Hi Gareth,

> From: Gareth Williams, Sent: Monday, September 16, 2019 10:56 PM
> 
> Hi Laurent/Kieran,
> 
> I need to upstream a driver for a display controller that within its 
> registers memory region contains registers related
> to a PWM device. The PWM device is for controlling the backlight of the 
> display.
> Ideally, I would like to create a separated driver for the PWM, so that I can 
> re-use "pwm-backlight", but since the registers
> for the PWM are right in the middle of the registers for the display 
> controller I would need to ioremap the memory region
> for the PWM registers region twice, once from the display controller driver, 
> and once from the PWM driver.
> Do you think that the double ioremap would be acceptable upstream?

I think that an MFD driver can support such hardware. I checked 
Documentation/devicetree/bindings/mfd roughly,
and then atmel-hlcdc.txt seems to have a display controller and a PWM device.

Best regards,
Yoshihiro Shimoda