Re: [PATCH 0/3] add mie driver for exynos

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





2012/12/12 Stéphane Marchesin <stephane.marchesin@xxxxxxxxx>
On Mon, Dec 10, 2012 at 1:27 AM, Inki Dae <inki.dae@xxxxxxxxxxx> wrote:
>
>
> 2012/12/10 Stéphane Marchesin <stephane.marchesin@xxxxxxxxx>
>>
>> On Sun, Dec 9, 2012 at 10:26 PM, Inki Dae <inki.dae@xxxxxxxxxxx> wrote:
>> >
>> >
>> > 2012/12/6 R. Chandrasekar <rcsekar@xxxxxxxxxxx>
>> >
>> >> From: "R. Chandrasekar" <rcsekar@xxxxxxxxxxx>
>> >>
>> >> this patch set adds the driver support for the dithering functionality
>> >> of
>> >> the
>> >> mobile image enhancement (mie) module.
>> >>
>> >> device tree support is added for mie.
>> >>
>> >> fimd adds the mie module as plugin and calls the dithering function.
>> >> dithere is
>> >> required when the panels bpp is less then fimd output.
>> >>
>> >> though mie mie has other functionalities, current system uses only
>> >> dithereing.
>> >>
>> >
>> > Please, move mie module into drivers/video/exynos. The mie is a
>> > interface
>> > between fimd and lcd panel(or mipi-dsi, eDP) to enhance image to be
>> > displayed. And it seems like that this doesn't need drm
>> > framework-relevant
>> > interfaces, such as gem.
>>
>> Well, if you want to support it from the DRM, it should live in
>> drivers/gpu/drm, and I don't think you should add another platform
>> driver in the first place. The profusion of platform drivers in exynos
>> makes it really difficult to support suspend/resume and initialization
>> properly as many devices which operate separately need to sync through
>> global variables.
>>
>
> MIE could be used by linux framebuffer-based specific driver(s3c-fb) also.

Yes, but it is a DRM driver we're talking about here. Again it is
really difficult to work with it across suspend-resume. I don't think

You want to use Exynos drm core framework just for suspend/resume to MIE module? as I mentioned before, I think the framework suitable to MIE is Common Display Framework. Of course, maybe you should add new features to Common Display Framework for it like MIPI DBI bus support framework because current Common Display Framework supports only display bus. Logically, MIE should be used without dependency of any frameworks such as Linux Framebuffer or DRM frameworks. And see the below hardware path,

fimd--------mie-----------------------------lcd panel
fimd--------mie--------mipi-dsi----------lcd panel
fimd--------mie--------eDP---------------lcd panel

Thus, the MIE is placed between fimd and lcd panel, mipi dsi or eDP. And fimd, as display controller, could be controlled by linux framebuffer or drm framework.
 
the DRM was ever meant to be a collection of independent platform
drivers.

> If linux framebuffer-based driver want to use this mie module, should the
> mie module be placed in drivers/video coping it? I think it's not good so
> it's better way to use this mie module commonly without duplicated codes.
> And mipi-dsi and eDP drivers also have their own platform device/driver and
> are being used by exynos drm driver or s3c-fb driver. Of course, for some
> IPs such as mie between display controller and lcd panel, It seems like that
> there should be proper framework or interfaces in drivers/video/exynos or
> somewhere so that other frameworks can use it commonly. And drm and linux
> framebuffer drivers should call the interfaces.

For the short term, I think it's fine to duplicate the code.

For the longer term, I think framebuffer support should be provided by
the drm framebuffer compat layer, and s3c-fb should disappear. This is
what has been done with all the other DRM drivers.

Stéphane


>
> Thanks,
> Inki Dae
>
>> Stéphane
>>
>>
>> >
>> > And also, please refer to the below link, Common Display Framework, for
>> > more
>> > generic way.
>> >
>> >
>> > http://lists.freedesktop.org/archives/dri-devel/2012-November/030888.html
>> >
>> > Thanks,
>> > Inki Dae
>> >
>> >>
>> >> R. Chandrasekar (3):
>> >>   DTS: exynos: add device tree support for exynos mie
>> >>   drm: fimd: add mie plugin support for dithering
>> >>   drm: mie: add mie driver for exynos
>> >>
>> >>  arch/arm/boot/dts/exynos5250.dtsi               |    7 +-
>> >>  drivers/gpu/drm/exynos/Kconfig                  |    7 +
>> >>  drivers/gpu/drm/exynos/Makefile                 |    1 +
>> >>  drivers/gpu/drm/exynos/exynos_drm_fimd.c        |   58 +++++-
>> >>  drivers/gpu/drm/exynos/exynos_drm_fimd_common.h |   20 ++
>> >>  drivers/gpu/drm/exynos/exynos_drm_mie.c         |  250
>> >> +++++++++++++++++++++++
>> >>  drivers/gpu/drm/exynos/exynos_drm_mie.h         |   50 +++++
>> >>  drivers/gpu/drm/exynos/exynos_regs-mie.h        |   75 +++++++
>> >>  8 files changed, 465 insertions(+), 3 deletions(-)
>> >>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_fimd_common.h
>> >>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_mie.c
>> >>  create mode 100644 drivers/gpu/drm/exynos/exynos_drm_mie.h
>> >>  create mode 100644 drivers/gpu/drm/exynos/exynos_regs-mie.h
>> >>
>> >> --
>> >> 1.7.9.5
>> >>
>> >> _______________________________________________
>> >> dri-devel mailing list
>> >> dri-devel@xxxxxxxxxxxxxxxxxxxxx
>> >> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>> >
>> >
>> >
>> > _______________________________________________
>> > dri-devel mailing list
>> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
>> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
>> >
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@xxxxxxxxxxxxxxxxxxxxx
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux