Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Laurent, On Wed, 2018-02-21 at 15:17:25 -0800, Laurent Pinchart wrote: > Hi Hyun, > > Thank you for the patch. > > On Wednesday, 7 February 2018 03:36:36 EET Hyun Kwon wrote: > > Xilinx has various platforms for display, where users can create > > using multiple IPs in the programmable FPGA fabric, or where > > some hardened piepline is available on the chip. Furthermore, > > s/piepline/pipeline/ > Will fix. > > hardened pipeline can also interact with soft logics in FPGA. > > > > The Xilinx DRM KMS module is to integrate multiple subdevices and > > to represent the entire pipeline as a single DRM device. The module > > includes helper (ex, framebuffer and gem helpers) and > > glue logic (ex, crtc interface) functions. > > > > Signed-off-by: Hyun Kwon > > Acked-by: Daniel Vetter > > --- > > v5 > > - Redefine xlnx_pipeline_init() > > v4 > > - Fix a bug in of graph binding handling > > - Remove vblank callbacks from xlnx_crtc > > - Remove the dt binding. This module becomes more like a library. > > - Rephrase the commit message > > v3 > > - Add Laurent as a maintainer > > - Fix multiple-reference on gem objects > > v2 > > - Change the SPDX identifier format > > - Merge patches(crtc, gem, fb) into single one > > v2 of xlnx_drv > > - Rename kms to display in xlnx_drv > > - Replace some xlnx specific fb helper with common helpers in xlnx_drv > > - Don't set the commit tail callback in xlnx_drv > > - Support 'ports' graph binding in xlnx_drv > > v2 of xlnx_fb > > - Remove wrappers in xlnx_fb > > - Replace some functions with drm core helpers in xlnx_fb > > --- > > --- > > MAINTAINERS | 9 + > > drivers/gpu/drm/Kconfig | 2 + > > drivers/gpu/drm/Makefile | 1 + > > drivers/gpu/drm/xlnx/Kconfig | 12 + > > drivers/gpu/drm/xlnx/Makefile| 2 + > > drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > > drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > > drivers/gpu/drm/xlnx/xlnx_drv.c | 501 > > drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > > drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > > 13 files changed, 1211 insertions(+) > > create mode 100644 drivers/gpu/drm/xlnx/Kconfig > > create mode 100644 drivers/gpu/drm/xlnx/Makefile > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 5bc088f..07c0e73 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -4789,6 +4789,15 @@ F: drivers/gpu/drm/etnaviv/ > > F: include/uapi/drm/etnaviv_drm.h > > F: Documentation/devicetree/bindings/display/etnaviv/ > > > > +DRM DRIVERS FOR XILINX > > +M: Hyun Kwon > > +M: Laurent Pinchart > > +L: dri-devel@lists.freedesktop.org > > +S: Maintained > > +F: drivers/gpu/drm/xlnx/ > > +F: Documentation/devicetree/bindings/display/xlnx/ > > +T: git git://anongit.freedesktop.org/drm/drm-misc > > + > > DRM DRIVERS FOR ZTE ZX > > M: Shawn Guo > > L: dri-devel@lists.freedesktop.org > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > > index deeefa7..5a3ec66 100644 > > --- a/drivers/gpu/drm/Kconfig > > + * This software is licensed under the terms of the GNU General Public [snip] > > + * License version 2, as published by the Free Software Foundation, and > > + * may be copied, distributed, and modified under those terms. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > You can drop those two paragraphs as you now have an SPDX license header. > At the time of submission, it wasn't clear how to put this, and I was suggested to do it this way. I believe now I can remove, so I'll remove it from all. > > + */ > > + > > +#include > > + > > +#include > > + > > +#include "xlnx_crtc.h" > > +#include "xlnx_drv.h" > > + > > +/* > > + * Overview > > + * > > + * > > + * The Xilinx CRTC layer is to enable the custom interface to CRTC drivers. > > + * The interface is used by Xilinx DRM driver where it needs CRTC > > + * functionailty. CRTC drivers should attach the desired callbacks > > s/functionailty/functionality/ > > > + * to struct xlnx_crtc and register the xlnx_crtc with correcsponding > > s/correcsponding/corresponding/ > > > + * drm_device. It's highly recommende
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Laurent, On Thu, 2018-02-22 at 05:40:50 -0800, Laurent Pinchart wrote: > Hi Hyun, > > On Thursday, 22 February 2018 04:50:42 EET Hyun Kwon wrote: > > On Wed, 2018-02-21 at 15:17:25 -0800, Laurent Pinchart wrote: > > > On Wednesday, 7 February 2018 03:36:36 EET Hyun Kwon wrote: > > >> Xilinx has various platforms for display, where users can create > > >> using multiple IPs in the programmable FPGA fabric, or where > > >> some hardened piepline is available on the chip. Furthermore, > > > > > > s/piepline/pipeline/ > > > > > >> hardened pipeline can also interact with soft logics in FPGA. > > >> > > >> The Xilinx DRM KMS module is to integrate multiple subdevices and > > >> to represent the entire pipeline as a single DRM device. The module > > >> includes helper (ex, framebuffer and gem helpers) and > > >> glue logic (ex, crtc interface) functions. > > >> > > >> Signed-off-by: Hyun Kwon > > >> Acked-by: Daniel Vetter > > >> --- > > >> v5 > > >> - Redefine xlnx_pipeline_init() > > >> v4 > > >> - Fix a bug in of graph binding handling > > >> - Remove vblank callbacks from xlnx_crtc > > >> - Remove the dt binding. This module becomes more like a library. > > >> - Rephrase the commit message > > >> v3 > > >> - Add Laurent as a maintainer > > >> - Fix multiple-reference on gem objects > > >> v2 > > >> - Change the SPDX identifier format > > >> - Merge patches(crtc, gem, fb) into single one > > >> v2 of xlnx_drv > > >> - Rename kms to display in xlnx_drv > > >> - Replace some xlnx specific fb helper with common helpers in xlnx_drv > > >> - Don't set the commit tail callback in xlnx_drv > > >> - Support 'ports' graph binding in xlnx_drv > > >> v2 of xlnx_fb > > >> - Remove wrappers in xlnx_fb > > >> - Replace some functions with drm core helpers in xlnx_fb > > >> --- > > >> --- > > >> > > >> MAINTAINERS | 9 + > > >> drivers/gpu/drm/Kconfig | 2 + > > >> drivers/gpu/drm/Makefile | 1 + > > >> drivers/gpu/drm/xlnx/Kconfig | 12 + > > >> drivers/gpu/drm/xlnx/Makefile| 2 + > > >> drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > > >> drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > > >> drivers/gpu/drm/xlnx/xlnx_drv.c | 501 + > > >> drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > > >> drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > > >> drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > > >> drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > > >> drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > > >> 13 files changed, 1211 insertions(+) > > >> create mode 100644 drivers/gpu/drm/xlnx/Kconfig > > >> create mode 100644 drivers/gpu/drm/xlnx/Makefile > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > [snip] > > > >> diff --git a/drivers/gpu/drm/xlnx/xlnx_crtc.c > > >> b/drivers/gpu/drm/xlnx/xlnx_crtc.c new file mode 100644 > > >> index 000..de83905 > > >> --- /dev/null > > >> +++ b/drivers/gpu/drm/xlnx/xlnx_crtc.c > > [snip] > > > >> +uint32_t xlnx_crtc_helper_get_format(struct xlnx_crtc_helper *helper) > > > > > > You can use the u32 type within the kernel. > > > > > >> +{ > > >> +struct xlnx_crtc *crtc; > > >> +u32 format = 0, tmp; > > >> + > > >> +list_for_each_entry(crtc, &helper->xlnx_crtcs, list) { > > >> +if (crtc->get_format) { > > >> +tmp = crtc->get_format(crtc); > > >> +if (format && format != tmp) > > >> +return 0; > > >> +format = tmp; > > > > > > Same comments regarding the tmp variable and the list locking issue. > > > > > >> +} > > >> +} > > >> + > > >> +return format; > > > > > > Does this mean that your CRTCs support a single format each only ? > > Does it ? :-) > > > >> +} > > [snip] > > > >> diff --git a/drivers/gpu/drm/xlnx/xlnx_drv.c > > >> b/drivers/gpu/drm/xlnx/xlnx_drv.c new file mode 100644 > > >> index 000..8f0e357 > > >> --- /dev/null > > >> +++ b/drivers/gpu/drm/xlnx/xlnx_drv.c > > [snip] > > > >> +static int xlnx_of_component_probe(struct device *master_dev, > > >> + int (*compare_of)(struct device *, > > >> void *), > > >> + const struct component_master_ops > > >> *m_ops) > > > > > > As there's a single user of this function, do you need to pass compare_of > > > as a parameter ? Couldn't you move xlnx_compare_of() above and use it > > > directly ? > > > > > >> +{ > > >> +struct device *
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Hyun, On Thursday, 22 February 2018 04:50:42 EET Hyun Kwon wrote: > On Wed, 2018-02-21 at 15:17:25 -0800, Laurent Pinchart wrote: > > On Wednesday, 7 February 2018 03:36:36 EET Hyun Kwon wrote: > >> Xilinx has various platforms for display, where users can create > >> using multiple IPs in the programmable FPGA fabric, or where > >> some hardened piepline is available on the chip. Furthermore, > > > > s/piepline/pipeline/ > > > >> hardened pipeline can also interact with soft logics in FPGA. > >> > >> The Xilinx DRM KMS module is to integrate multiple subdevices and > >> to represent the entire pipeline as a single DRM device. The module > >> includes helper (ex, framebuffer and gem helpers) and > >> glue logic (ex, crtc interface) functions. > >> > >> Signed-off-by: Hyun Kwon > >> Acked-by: Daniel Vetter > >> --- > >> v5 > >> - Redefine xlnx_pipeline_init() > >> v4 > >> - Fix a bug in of graph binding handling > >> - Remove vblank callbacks from xlnx_crtc > >> - Remove the dt binding. This module becomes more like a library. > >> - Rephrase the commit message > >> v3 > >> - Add Laurent as a maintainer > >> - Fix multiple-reference on gem objects > >> v2 > >> - Change the SPDX identifier format > >> - Merge patches(crtc, gem, fb) into single one > >> v2 of xlnx_drv > >> - Rename kms to display in xlnx_drv > >> - Replace some xlnx specific fb helper with common helpers in xlnx_drv > >> - Don't set the commit tail callback in xlnx_drv > >> - Support 'ports' graph binding in xlnx_drv > >> v2 of xlnx_fb > >> - Remove wrappers in xlnx_fb > >> - Replace some functions with drm core helpers in xlnx_fb > >> --- > >> --- > >> > >> MAINTAINERS | 9 + > >> drivers/gpu/drm/Kconfig | 2 + > >> drivers/gpu/drm/Makefile | 1 + > >> drivers/gpu/drm/xlnx/Kconfig | 12 + > >> drivers/gpu/drm/xlnx/Makefile| 2 + > >> drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > >> drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > >> drivers/gpu/drm/xlnx/xlnx_drv.c | 501 + > >> drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > >> drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > >> drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > >> drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > >> drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > >> 13 files changed, 1211 insertions(+) > >> create mode 100644 drivers/gpu/drm/xlnx/Kconfig > >> create mode 100644 drivers/gpu/drm/xlnx/Makefile > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h [snip] > >> diff --git a/drivers/gpu/drm/xlnx/xlnx_crtc.c > >> b/drivers/gpu/drm/xlnx/xlnx_crtc.c new file mode 100644 > >> index 000..de83905 > >> --- /dev/null > >> +++ b/drivers/gpu/drm/xlnx/xlnx_crtc.c [snip] > >> +uint32_t xlnx_crtc_helper_get_format(struct xlnx_crtc_helper *helper) > > > > You can use the u32 type within the kernel. > > > >> +{ > >> + struct xlnx_crtc *crtc; > >> + u32 format = 0, tmp; > >> + > >> + list_for_each_entry(crtc, &helper->xlnx_crtcs, list) { > >> + if (crtc->get_format) { > >> + tmp = crtc->get_format(crtc); > >> + if (format && format != tmp) > >> + return 0; > >> + format = tmp; > > > > Same comments regarding the tmp variable and the list locking issue. > > > >> + } > >> + } > >> + > >> + return format; > > > > Does this mean that your CRTCs support a single format each only ? Does it ? :-) > >> +} [snip] > >> diff --git a/drivers/gpu/drm/xlnx/xlnx_drv.c > >> b/drivers/gpu/drm/xlnx/xlnx_drv.c new file mode 100644 > >> index 000..8f0e357 > >> --- /dev/null > >> +++ b/drivers/gpu/drm/xlnx/xlnx_drv.c [snip] > >> +static int xlnx_of_component_probe(struct device *master_dev, > >> + int (*compare_of)(struct device *, void *), > >> + const struct component_master_ops *m_ops) > > > > As there's a single user of this function, do you need to pass compare_of > > as a parameter ? Couldn't you move xlnx_compare_of() above and use it > > directly ? > > > >> +{ > >> + struct device *dev = master_dev->parent; > >> + struct device_node *ep, *port, *remote, *parent; > >> + struct component_match *match = NULL; > >> + int i; > > > > i is never negative, you can make it unsigned. > > > >> + if (!dev->of_node) > >> + return -EINVAL; > >> + > >> + component_match_add(master_dev, &match, compare_of, dev->of_node); > >> + > >> + for (i = 0; ; i++) { > >> + port = of_parse_phandle(dev->of_n
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Laurent, On Wed, 2018-02-21 at 15:22:31 -0800, Laurent Pinchart wrote: > Hi Hyun, > > On Tuesday, 20 February 2018 19:11:42 EET hyun.k...@xilinx.com wrote: > > On Monday, February 19, 2018 1:43 AM Daniel Vetter wrote: > > > On Tue, Feb 06, 2018 at 05:36:36PM -0800, Hyun Kwon wrote: > > >> Xilinx has various platforms for display, where users can create > > >> using multiple IPs in the programmable FPGA fabric, or where > > >> some hardened piepline is available on the chip. Furthermore, > > >> hardened pipeline can also interact with soft logics in FPGA. > > >> > > >> The Xilinx DRM KMS module is to integrate multiple subdevices and > > >> to represent the entire pipeline as a single DRM device. The module > > >> includes helper (ex, framebuffer and gem helpers) and > > >> glue logic (ex, crtc interface) functions. > > >> > > >> Signed-off-by: Hyun Kwon > > >> Acked-by: Daniel Vetter > > > > > > Looks all ready for merging. Did you apply for commit rights to drm-misc > > > already so you could push this right away? > > > > Yes, I've created the request, and am waiting for the response there: > > https://bugs.freedesktop.org/show_bug.cgi?id=105017 > > I've just sent an in-depth review of patch 1/5 (sorry for being late). There > are lots of small comments that could be addressed as follow-up patches in > the > worst case, but there's one comment regarding the ports DT property that > worries me and that I'd like to see addressed (or, if I got it wrong, > explained) before we merge this. Another related issue that I'd like to > discuss is the need for the artificial xilinx-drm platform device. And of > course if a v6 is needed, you can address all the other small comments :-) > Thanks! I skimmed through your comments, and I prefer to clear and address all in v6 before committing this. I've replied directly to those comments so we can continue to discuss there. Thanks, -hyun > > >> --- > > >> v5 > > >> - Redefine xlnx_pipeline_init() > > >> v4 > > >> - Fix a bug in of graph binding handling > > >> - Remove vblank callbacks from xlnx_crtc > > >> - Remove the dt binding. This module becomes more like a library. > > >> - Rephrase the commit message > > >> v3 > > >> - Add Laurent as a maintainer > > >> - Fix multiple-reference on gem objects > > >> v2 > > >> - Change the SPDX identifier format > > >> - Merge patches(crtc, gem, fb) into single one > > >> v2 of xlnx_drv > > >> - Rename kms to display in xlnx_drv > > >> - Replace some xlnx specific fb helper with common helpers in xlnx_drv > > >> - Don't set the commit tail callback in xlnx_drv > > >> - Support 'ports' graph binding in xlnx_drv > > >> v2 of xlnx_fb > > >> - Remove wrappers in xlnx_fb > > >> - Replace some functions with drm core helpers in xlnx_fb > > >> --- > > >> --- > > >> > > >> MAINTAINERS | 9 + > > >> drivers/gpu/drm/Kconfig | 2 + > > >> drivers/gpu/drm/Makefile | 1 + > > >> drivers/gpu/drm/xlnx/Kconfig | 12 + > > >> drivers/gpu/drm/xlnx/Makefile| 2 + > > >> drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > > >> drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > > >> drivers/gpu/drm/xlnx/xlnx_drv.c | 501 + > > >> drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > > >> drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > > >> drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > > >> drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > > >> drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > > >> 13 files changed, 1211 insertions(+) > > >> create mode 100644 drivers/gpu/drm/xlnx/Kconfig > > >> create mode 100644 drivers/gpu/drm/xlnx/Makefile > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > [snip] > > -- > Regards, > > Laurent Pinchart > > ___ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Laurent, Thanks for the review. On Wed, 2018-02-21 at 15:17:25 -0800, Laurent Pinchart wrote: > Hi Hyun, > > Thank you for the patch. > > On Wednesday, 7 February 2018 03:36:36 EET Hyun Kwon wrote: > > Xilinx has various platforms for display, where users can create > > using multiple IPs in the programmable FPGA fabric, or where > > some hardened piepline is available on the chip. Furthermore, > > s/piepline/pipeline/ > > > hardened pipeline can also interact with soft logics in FPGA. > > > > The Xilinx DRM KMS module is to integrate multiple subdevices and > > to represent the entire pipeline as a single DRM device. The module > > includes helper (ex, framebuffer and gem helpers) and > > glue logic (ex, crtc interface) functions. > > > > Signed-off-by: Hyun Kwon > > Acked-by: Daniel Vetter > > --- > > v5 > > - Redefine xlnx_pipeline_init() > > v4 > > - Fix a bug in of graph binding handling > > - Remove vblank callbacks from xlnx_crtc > > - Remove the dt binding. This module becomes more like a library. > > - Rephrase the commit message > > v3 > > - Add Laurent as a maintainer > > - Fix multiple-reference on gem objects > > v2 > > - Change the SPDX identifier format > > - Merge patches(crtc, gem, fb) into single one > > v2 of xlnx_drv > > - Rename kms to display in xlnx_drv > > - Replace some xlnx specific fb helper with common helpers in xlnx_drv > > - Don't set the commit tail callback in xlnx_drv > > - Support 'ports' graph binding in xlnx_drv > > v2 of xlnx_fb > > - Remove wrappers in xlnx_fb > > - Replace some functions with drm core helpers in xlnx_fb > > --- > > --- > > MAINTAINERS | 9 + > > drivers/gpu/drm/Kconfig | 2 + > > drivers/gpu/drm/Makefile | 1 + > > drivers/gpu/drm/xlnx/Kconfig | 12 + > > drivers/gpu/drm/xlnx/Makefile| 2 + > > drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > > drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > > drivers/gpu/drm/xlnx/xlnx_drv.c | 501 > > drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > > drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > > 13 files changed, 1211 insertions(+) > > create mode 100644 drivers/gpu/drm/xlnx/Kconfig > > create mode 100644 drivers/gpu/drm/xlnx/Makefile > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 5bc088f..07c0e73 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -4789,6 +4789,15 @@ F: drivers/gpu/drm/etnaviv/ > > F: include/uapi/drm/etnaviv_drm.h > > F: Documentation/devicetree/bindings/display/etnaviv/ > > > > +DRM DRIVERS FOR XILINX > > +M: Hyun Kwon > > +M: Laurent Pinchart > > +L: dri-devel@lists.freedesktop.org > > +S: Maintained > > +F: drivers/gpu/drm/xlnx/ > > +F: Documentation/devicetree/bindings/display/xlnx/ > > +T: git git://anongit.freedesktop.org/drm/drm-misc > > + > > DRM DRIVERS FOR ZTE ZX > > M: Shawn Guo > > L: dri-devel@lists.freedesktop.org > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > > index deeefa7..5a3ec66 100644 > > --- a/drivers/gpu/drm/Kconfig > > +++ b/drivers/gpu/drm/Kconfig > > @@ -289,6 +289,8 @@ source "drivers/gpu/drm/pl111/Kconfig" > > > > source "drivers/gpu/drm/tve200/Kconfig" > > > > +source "drivers/gpu/drm/xlnx/Kconfig" > > I would have spelled that out completely as I think it will be easier to > understand, but it's up to you. > > > # Keep legacy drivers last > > > > menuconfig DRM_LEGACY > > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > > index 50093ff..f93557e 100644 > > --- a/drivers/gpu/drm/Makefile > > +++ b/drivers/gpu/drm/Makefile > > @@ -103,3 +103,4 @@ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ > > obj-$(CONFIG_DRM_TINYDRM) += tinydrm/ > > obj-$(CONFIG_DRM_PL111) += pl111/ > > obj-$(CONFIG_DRM_TVE200) += tve200/ > > +obj-$(CONFIG_DRM_XLNX) += xlnx/ > > diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig > > new file mode 100644 > > index 000..19fd7cd > > --- /dev/null > > +++ b/drivers/gpu/drm/xlnx/Kconfig > > @@ -0,0 +1,12 @@ > > +config DRM_XLNX > > + tristate "Xilinx DRM KMS Driver" > > + depends on DRM && OF > > + select DRM_KMS_HELPER > > + select DRM_KMS_CMA_HELPER > > + select DRM_GEM_CMA_HELPER > > + help > > + Xilinx DRM KMS driver. Choose this option if you have > > + a Xilinx SoCs with hardened display pipeline or soft > > + dis
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Hyun, On Tuesday, 20 February 2018 19:11:42 EET hyun.k...@xilinx.com wrote: > On Monday, February 19, 2018 1:43 AM Daniel Vetter wrote: > > On Tue, Feb 06, 2018 at 05:36:36PM -0800, Hyun Kwon wrote: > >> Xilinx has various platforms for display, where users can create > >> using multiple IPs in the programmable FPGA fabric, or where > >> some hardened piepline is available on the chip. Furthermore, > >> hardened pipeline can also interact with soft logics in FPGA. > >> > >> The Xilinx DRM KMS module is to integrate multiple subdevices and > >> to represent the entire pipeline as a single DRM device. The module > >> includes helper (ex, framebuffer and gem helpers) and > >> glue logic (ex, crtc interface) functions. > >> > >> Signed-off-by: Hyun Kwon > >> Acked-by: Daniel Vetter > > > > Looks all ready for merging. Did you apply for commit rights to drm-misc > > already so you could push this right away? > > Yes, I've created the request, and am waiting for the response there: > https://bugs.freedesktop.org/show_bug.cgi?id=105017 I've just sent an in-depth review of patch 1/5 (sorry for being late). There are lots of small comments that could be addressed as follow-up patches in the worst case, but there's one comment regarding the ports DT property that worries me and that I'd like to see addressed (or, if I got it wrong, explained) before we merge this. Another related issue that I'd like to discuss is the need for the artificial xilinx-drm platform device. And of course if a v6 is needed, you can address all the other small comments :-) > >> --- > >> v5 > >> - Redefine xlnx_pipeline_init() > >> v4 > >> - Fix a bug in of graph binding handling > >> - Remove vblank callbacks from xlnx_crtc > >> - Remove the dt binding. This module becomes more like a library. > >> - Rephrase the commit message > >> v3 > >> - Add Laurent as a maintainer > >> - Fix multiple-reference on gem objects > >> v2 > >> - Change the SPDX identifier format > >> - Merge patches(crtc, gem, fb) into single one > >> v2 of xlnx_drv > >> - Rename kms to display in xlnx_drv > >> - Replace some xlnx specific fb helper with common helpers in xlnx_drv > >> - Don't set the commit tail callback in xlnx_drv > >> - Support 'ports' graph binding in xlnx_drv > >> v2 of xlnx_fb > >> - Remove wrappers in xlnx_fb > >> - Replace some functions with drm core helpers in xlnx_fb > >> --- > >> --- > >> > >> MAINTAINERS | 9 + > >> drivers/gpu/drm/Kconfig | 2 + > >> drivers/gpu/drm/Makefile | 1 + > >> drivers/gpu/drm/xlnx/Kconfig | 12 + > >> drivers/gpu/drm/xlnx/Makefile| 2 + > >> drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > >> drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > >> drivers/gpu/drm/xlnx/xlnx_drv.c | 501 + > >> drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > >> drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > >> drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > >> drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > >> drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > >> 13 files changed, 1211 insertions(+) > >> create mode 100644 drivers/gpu/drm/xlnx/Kconfig > >> create mode 100644 drivers/gpu/drm/xlnx/Makefile > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > >> create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h [snip] -- Regards, Laurent Pinchart ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
Hi Hyun, Thank you for the patch. On Wednesday, 7 February 2018 03:36:36 EET Hyun Kwon wrote: > Xilinx has various platforms for display, where users can create > using multiple IPs in the programmable FPGA fabric, or where > some hardened piepline is available on the chip. Furthermore, s/piepline/pipeline/ > hardened pipeline can also interact with soft logics in FPGA. > > The Xilinx DRM KMS module is to integrate multiple subdevices and > to represent the entire pipeline as a single DRM device. The module > includes helper (ex, framebuffer and gem helpers) and > glue logic (ex, crtc interface) functions. > > Signed-off-by: Hyun Kwon > Acked-by: Daniel Vetter > --- > v5 > - Redefine xlnx_pipeline_init() > v4 > - Fix a bug in of graph binding handling > - Remove vblank callbacks from xlnx_crtc > - Remove the dt binding. This module becomes more like a library. > - Rephrase the commit message > v3 > - Add Laurent as a maintainer > - Fix multiple-reference on gem objects > v2 > - Change the SPDX identifier format > - Merge patches(crtc, gem, fb) into single one > v2 of xlnx_drv > - Rename kms to display in xlnx_drv > - Replace some xlnx specific fb helper with common helpers in xlnx_drv > - Don't set the commit tail callback in xlnx_drv > - Support 'ports' graph binding in xlnx_drv > v2 of xlnx_fb > - Remove wrappers in xlnx_fb > - Replace some functions with drm core helpers in xlnx_fb > --- > --- > MAINTAINERS | 9 + > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/xlnx/Kconfig | 12 + > drivers/gpu/drm/xlnx/Makefile| 2 + > drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > drivers/gpu/drm/xlnx/xlnx_drv.c | 501 > drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > 13 files changed, 1211 insertions(+) > create mode 100644 drivers/gpu/drm/xlnx/Kconfig > create mode 100644 drivers/gpu/drm/xlnx/Makefile > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5bc088f..07c0e73 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4789,6 +4789,15 @@ F: drivers/gpu/drm/etnaviv/ > F: include/uapi/drm/etnaviv_drm.h > F: Documentation/devicetree/bindings/display/etnaviv/ > > +DRM DRIVERS FOR XILINX > +M: Hyun Kwon > +M: Laurent Pinchart > +L: dri-devel@lists.freedesktop.org > +S: Maintained > +F: drivers/gpu/drm/xlnx/ > +F: Documentation/devicetree/bindings/display/xlnx/ > +T: git git://anongit.freedesktop.org/drm/drm-misc > + > DRM DRIVERS FOR ZTE ZX > M: Shawn Guo > L: dri-devel@lists.freedesktop.org > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index deeefa7..5a3ec66 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -289,6 +289,8 @@ source "drivers/gpu/drm/pl111/Kconfig" > > source "drivers/gpu/drm/tve200/Kconfig" > > +source "drivers/gpu/drm/xlnx/Kconfig" I would have spelled that out completely as I think it will be easier to understand, but it's up to you. > # Keep legacy drivers last > > menuconfig DRM_LEGACY > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > index 50093ff..f93557e 100644 > --- a/drivers/gpu/drm/Makefile > +++ b/drivers/gpu/drm/Makefile > @@ -103,3 +103,4 @@ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ > obj-$(CONFIG_DRM_TINYDRM) += tinydrm/ > obj-$(CONFIG_DRM_PL111) += pl111/ > obj-$(CONFIG_DRM_TVE200) += tve200/ > +obj-$(CONFIG_DRM_XLNX) += xlnx/ > diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig > new file mode 100644 > index 000..19fd7cd > --- /dev/null > +++ b/drivers/gpu/drm/xlnx/Kconfig > @@ -0,0 +1,12 @@ > +config DRM_XLNX > + tristate "Xilinx DRM KMS Driver" > + depends on DRM && OF > + select DRM_KMS_HELPER > + select DRM_KMS_CMA_HELPER > + select DRM_GEM_CMA_HELPER > + help > + Xilinx DRM KMS driver. Choose this option if you have > + a Xilinx SoCs with hardened display pipeline or soft > + display pipeline using Xilinx IPs in FPGA. This module > + provides the kernel mode setting functionalities > + for Xilinx display drivers. > diff --git a/drivers/gpu/drm/xlnx/Makefile b/drivers/gpu/drm/xlnx/Makefile > new file mode 100644 > index 000..c60a281 > --- /dev/null > +++ b/drivers/gpu/drm
RE: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
> -Original Message- > From: Daniel Vetter [mailto:daniel.vet...@ffwll.ch] On Behalf Of Daniel > Vetter > Sent: Monday, February 19, 2018 1:43 AM > To: Hyun Kwon > Cc: dri-devel@lists.freedesktop.org; devicet...@vger.kernel.org; Daniel > Vetter ; Rob Herring ; > Michal Simek ; Laurent Pinchart > > Subject: Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module > > On Tue, Feb 06, 2018 at 05:36:36PM -0800, Hyun Kwon wrote: > > Xilinx has various platforms for display, where users can create > > using multiple IPs in the programmable FPGA fabric, or where > > some hardened piepline is available on the chip. Furthermore, > > hardened pipeline can also interact with soft logics in FPGA. > > > > The Xilinx DRM KMS module is to integrate multiple subdevices and > > to represent the entire pipeline as a single DRM device. The module > > includes helper (ex, framebuffer and gem helpers) and > > glue logic (ex, crtc interface) functions. > > > > Signed-off-by: Hyun Kwon > > Acked-by: Daniel Vetter > > Looks all ready for merging. Did you apply for commit rights to drm-misc > already so you could push this right away? Yes, I've created the request, and am waiting for the response there: https://bugs.freedesktop.org/show_bug.cgi?id=105017 Thanks, -hyun > -Daniel > > > --- > > v5 > > - Redefine xlnx_pipeline_init() > > v4 > > - Fix a bug in of graph binding handling > > - Remove vblank callbacks from xlnx_crtc > > - Remove the dt binding. This module becomes more like a library. > > - Rephrase the commit message > > v3 > > - Add Laurent as a maintainer > > - Fix multiple-reference on gem objects > > v2 > > - Change the SPDX identifier format > > - Merge patches(crtc, gem, fb) into single one > > v2 of xlnx_drv > > - Rename kms to display in xlnx_drv > > - Replace some xlnx specific fb helper with common helpers in xlnx_drv > > - Don't set the commit tail callback in xlnx_drv > > - Support 'ports' graph binding in xlnx_drv > > v2 of xlnx_fb > > - Remove wrappers in xlnx_fb > > - Replace some functions with drm core helpers in xlnx_fb > > --- > > --- > > MAINTAINERS | 9 + > > drivers/gpu/drm/Kconfig | 2 + > > drivers/gpu/drm/Makefile | 1 + > > drivers/gpu/drm/xlnx/Kconfig | 12 + > > drivers/gpu/drm/xlnx/Makefile| 2 + > > drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > > drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > > drivers/gpu/drm/xlnx/xlnx_drv.c | 501 > +++ > > drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > > drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > > drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > > drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > > 13 files changed, 1211 insertions(+) > > create mode 100644 drivers/gpu/drm/xlnx/Kconfig > > create mode 100644 drivers/gpu/drm/xlnx/Makefile > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 5bc088f..07c0e73 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -4789,6 +4789,15 @@ F: drivers/gpu/drm/etnaviv/ > > F: include/uapi/drm/etnaviv_drm.h > > F: Documentation/devicetree/bindings/display/etnaviv/ > > > > +DRM DRIVERS FOR XILINX > > +M: Hyun Kwon > > +M: Laurent Pinchart > > +L: dri-devel@lists.freedesktop.org > > +S: Maintained > > +F: drivers/gpu/drm/xlnx/ > > +F: Documentation/devicetree/bindings/display/xlnx/ > > +T: git git://anongit.freedesktop.org/drm/drm-misc > > + > > DRM DRIVERS FOR ZTE ZX > > M: Shawn Guo > > L: dri-devel@lists.freedesktop.org > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > > index deeefa7..5a3ec66 100644 > > --- a/drivers/gpu/drm/Kconfig > > +++ b/drivers/gpu/drm/Kconfig > > @@ -289,6 +289,8 @@ source "drivers/gpu/drm/pl111/Kconfig" > > > > source "drivers/gpu/drm/tve200/Kconfig" > > > > +source "drivers/gpu/drm/xlnx/Kconfig&quo
Re: [PATCH v5 1/5] drm: xlnx: Xilinx DRM KMS module
On Tue, Feb 06, 2018 at 05:36:36PM -0800, Hyun Kwon wrote: > Xilinx has various platforms for display, where users can create > using multiple IPs in the programmable FPGA fabric, or where > some hardened piepline is available on the chip. Furthermore, > hardened pipeline can also interact with soft logics in FPGA. > > The Xilinx DRM KMS module is to integrate multiple subdevices and > to represent the entire pipeline as a single DRM device. The module > includes helper (ex, framebuffer and gem helpers) and > glue logic (ex, crtc interface) functions. > > Signed-off-by: Hyun Kwon > Acked-by: Daniel Vetter Looks all ready for merging. Did you apply for commit rights to drm-misc already so you could push this right away? -Daniel > --- > v5 > - Redefine xlnx_pipeline_init() > v4 > - Fix a bug in of graph binding handling > - Remove vblank callbacks from xlnx_crtc > - Remove the dt binding. This module becomes more like a library. > - Rephrase the commit message > v3 > - Add Laurent as a maintainer > - Fix multiple-reference on gem objects > v2 > - Change the SPDX identifier format > - Merge patches(crtc, gem, fb) into single one > v2 of xlnx_drv > - Rename kms to display in xlnx_drv > - Replace some xlnx specific fb helper with common helpers in xlnx_drv > - Don't set the commit tail callback in xlnx_drv > - Support 'ports' graph binding in xlnx_drv > v2 of xlnx_fb > - Remove wrappers in xlnx_fb > - Replace some functions with drm core helpers in xlnx_fb > --- > --- > MAINTAINERS | 9 + > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/xlnx/Kconfig | 12 + > drivers/gpu/drm/xlnx/Makefile| 2 + > drivers/gpu/drm/xlnx/xlnx_crtc.c | 177 ++ > drivers/gpu/drm/xlnx/xlnx_crtc.h | 70 ++ > drivers/gpu/drm/xlnx/xlnx_drv.c | 501 > +++ > drivers/gpu/drm/xlnx/xlnx_drv.h | 33 +++ > drivers/gpu/drm/xlnx/xlnx_fb.c | 298 +++ > drivers/gpu/drm/xlnx/xlnx_fb.h | 33 +++ > drivers/gpu/drm/xlnx/xlnx_gem.c | 47 > drivers/gpu/drm/xlnx/xlnx_gem.h | 26 ++ > 13 files changed, 1211 insertions(+) > create mode 100644 drivers/gpu/drm/xlnx/Kconfig > create mode 100644 drivers/gpu/drm/xlnx/Makefile > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_crtc.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_drv.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_fb.h > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.c > create mode 100644 drivers/gpu/drm/xlnx/xlnx_gem.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5bc088f..07c0e73 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -4789,6 +4789,15 @@ F: drivers/gpu/drm/etnaviv/ > F: include/uapi/drm/etnaviv_drm.h > F: Documentation/devicetree/bindings/display/etnaviv/ > > +DRM DRIVERS FOR XILINX > +M: Hyun Kwon > +M: Laurent Pinchart > +L: dri-devel@lists.freedesktop.org > +S: Maintained > +F: drivers/gpu/drm/xlnx/ > +F: Documentation/devicetree/bindings/display/xlnx/ > +T: git git://anongit.freedesktop.org/drm/drm-misc > + > DRM DRIVERS FOR ZTE ZX > M: Shawn Guo > L: dri-devel@lists.freedesktop.org > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index deeefa7..5a3ec66 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -289,6 +289,8 @@ source "drivers/gpu/drm/pl111/Kconfig" > > source "drivers/gpu/drm/tve200/Kconfig" > > +source "drivers/gpu/drm/xlnx/Kconfig" > + > # Keep legacy drivers last > > menuconfig DRM_LEGACY > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > index 50093ff..f93557e 100644 > --- a/drivers/gpu/drm/Makefile > +++ b/drivers/gpu/drm/Makefile > @@ -103,3 +103,4 @@ obj-$(CONFIG_DRM_MXSFB) += mxsfb/ > obj-$(CONFIG_DRM_TINYDRM) += tinydrm/ > obj-$(CONFIG_DRM_PL111) += pl111/ > obj-$(CONFIG_DRM_TVE200) += tve200/ > +obj-$(CONFIG_DRM_XLNX) += xlnx/ > diff --git a/drivers/gpu/drm/xlnx/Kconfig b/drivers/gpu/drm/xlnx/Kconfig > new file mode 100644 > index 000..19fd7cd > --- /dev/null > +++ b/drivers/gpu/drm/xlnx/Kconfig > @@ -0,0 +1,12 @@ > +config DRM_XLNX > + tristate "Xilinx DRM KMS Driver" > + depends on DRM && OF > + select DRM_KMS_HELPER > + select DRM_KMS_CMA_HELPER > + select DRM_GEM_CMA_HELPER > + help > + Xilinx DRM KMS driver. Choose this option if you have > + a Xilinx SoCs with hardened display pipeline or soft > + display pipeline using Xilinx IPs in FPGA. This module > + provides the kernel mode setting functionalities > + for Xilinx display drivers. > diff --git a/drivers/gpu/drm/xlnx/Makefile b/drivers/gpu/drm/xlnx/Makefile > new file mode 100644 > index 000..c60a281 > --- /dev/null > +++ b/drivers/gpu/drm/xlnx/Makefile > @@ -0,0 +1,