Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1252644 > unrolled thread

[GIT PULL] Raspberry Pi KMS driver

Started byEric Anholt <eric@anholt.net>
First post2015-10-21 12:00 +0200
Last post2015-10-23 00:10 +0200
Articles 5 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [GIT PULL] Raspberry Pi KMS driver Eric Anholt <eric@anholt.net> - 2015-10-21 12:00 +0200
    Re: [GIT PULL] Raspberry Pi KMS driver Daniel Vetter <daniel@ffwll.ch> - 2015-10-21 14:30 +0200
    Re: [GIT PULL] Raspberry Pi KMS driver Rob Herring <robh@kernel.org> - 2015-10-22 19:50 +0200
      Re: [GIT PULL] Raspberry Pi KMS driver Daniel Vetter <daniel@ffwll.ch> - 2015-10-22 22:00 +0200
        Re: [GIT PULL] Raspberry Pi KMS driver Dave Airlie <airlied@gmail.com> - 2015-10-23 00:10 +0200

#1252644 — [GIT PULL] Raspberry Pi KMS driver

FromEric Anholt <eric@anholt.net>
Date2015-10-21 12:00 +0200
Subject[GIT PULL] Raspberry Pi KMS driver
Message-ID<qlYlB-7Jz-21@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Dave suggested it was time to just send a pull request on the driver, so
here goes:

The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:

  Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)

are available in the git repository at:

  http://github.com/anholt/linux drm-vc4-next-2015-10-21

for you to fetch changes up to 98a44504541c6befb28366eb9ec432ba44070dd9:

  drm/vc4: Allow vblank to be disabled (2015-10-21 10:33:13 +0100)

----------------------------------------------------------------
This pull request introduces the vc4 driver, for kernel modesetting on
the Raspberry Pi (bcm2835/bcm2836 architectures).  It currently
supports a display plane and cursor on the HDMI output.  The driver
doesn't do 3D, power management, or overlay planes yet.

----------------------------------------------------------------
Derek Foreman (2):
      drm/vc4: Use the fbdev_cma helpers
      drm/vc4: Allow vblank to be disabled

Eric Anholt (2):
      drm/vc4: Add devicetree bindings for VC4.
      drm/vc4: Add KMS support for Raspberry Pi.

 .../devicetree/bindings/display/brcm,bcm-vc4.txt   |  65 ++
 drivers/gpu/drm/Kconfig                            |   2 +
 drivers/gpu/drm/Makefile                           |   1 +
 drivers/gpu/drm/vc4/Kconfig                        |  13 +
 drivers/gpu/drm/vc4/Makefile                       |  17 +
 drivers/gpu/drm/vc4/vc4_bo.c                       |  52 ++
 drivers/gpu/drm/vc4/vc4_crtc.c                     | 672 +++++++++++++++++++++
 drivers/gpu/drm/vc4/vc4_debugfs.c                  |  39 ++
 drivers/gpu/drm/vc4/vc4_drv.c                      | 298 +++++++++
 drivers/gpu/drm/vc4/vc4_drv.h                      | 145 +++++
 drivers/gpu/drm/vc4/vc4_hdmi.c                     | 590 ++++++++++++++++++
 drivers/gpu/drm/vc4/vc4_hvs.c                      | 163 +++++
 drivers/gpu/drm/vc4/vc4_kms.c                      |  67 ++
 drivers/gpu/drm/vc4/vc4_plane.c                    | 320 ++++++++++
 drivers/gpu/drm/vc4/vc4_regs.h                     | 570 +++++++++++++++++
 15 files changed, 3014 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 create mode 100644 drivers/gpu/drm/vc4/Kconfig
 create mode 100644 drivers/gpu/drm/vc4/Makefile
 create mode 100644 drivers/gpu/drm/vc4/vc4_bo.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_crtc.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_debugfs.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_drv.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_drv.h
 create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_hvs.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_kms.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_plane.c
 create mode 100644 drivers/gpu/drm/vc4/vc4_regs.h

[toc] | [next] | [standalone]


#1252776

FromDaniel Vetter <daniel@ffwll.ch>
Date2015-10-21 14:30 +0200
Message-ID<qm0GK-2RY-3@gated-at.bofh.it>
In reply to#1252644
On Wed, Oct 21, 2015 at 10:53:31AM +0100, Eric Anholt wrote:
> Dave suggested it was time to just send a pull request on the driver, so
> here goes:

Given I suggested the same:

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> 
> The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:
> 
>   Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)
> 
> are available in the git repository at:
> 
>   http://github.com/anholt/linux drm-vc4-next-2015-10-21
> 
> for you to fetch changes up to 98a44504541c6befb28366eb9ec432ba44070dd9:
> 
>   drm/vc4: Allow vblank to be disabled (2015-10-21 10:33:13 +0100)
> 
> ----------------------------------------------------------------
> This pull request introduces the vc4 driver, for kernel modesetting on
> the Raspberry Pi (bcm2835/bcm2836 architectures).  It currently
> supports a display plane and cursor on the HDMI output.  The driver
> doesn't do 3D, power management, or overlay planes yet.
> 
> ----------------------------------------------------------------
> Derek Foreman (2):
>       drm/vc4: Use the fbdev_cma helpers
>       drm/vc4: Allow vblank to be disabled
> 
> Eric Anholt (2):
>       drm/vc4: Add devicetree bindings for VC4.
>       drm/vc4: Add KMS support for Raspberry Pi.
> 
>  .../devicetree/bindings/display/brcm,bcm-vc4.txt   |  65 ++
>  drivers/gpu/drm/Kconfig                            |   2 +
>  drivers/gpu/drm/Makefile                           |   1 +
>  drivers/gpu/drm/vc4/Kconfig                        |  13 +
>  drivers/gpu/drm/vc4/Makefile                       |  17 +
>  drivers/gpu/drm/vc4/vc4_bo.c                       |  52 ++
>  drivers/gpu/drm/vc4/vc4_crtc.c                     | 672 +++++++++++++++++++++
>  drivers/gpu/drm/vc4/vc4_debugfs.c                  |  39 ++
>  drivers/gpu/drm/vc4/vc4_drv.c                      | 298 +++++++++
>  drivers/gpu/drm/vc4/vc4_drv.h                      | 145 +++++
>  drivers/gpu/drm/vc4/vc4_hdmi.c                     | 590 ++++++++++++++++++
>  drivers/gpu/drm/vc4/vc4_hvs.c                      | 163 +++++
>  drivers/gpu/drm/vc4/vc4_kms.c                      |  67 ++
>  drivers/gpu/drm/vc4/vc4_plane.c                    | 320 ++++++++++
>  drivers/gpu/drm/vc4/vc4_regs.h                     | 570 +++++++++++++++++
>  15 files changed, 3014 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
>  create mode 100644 drivers/gpu/drm/vc4/Kconfig
>  create mode 100644 drivers/gpu/drm/vc4/Makefile
>  create mode 100644 drivers/gpu/drm/vc4/vc4_bo.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_crtc.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_debugfs.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.h
>  create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_hvs.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_kms.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_plane.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_regs.h



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


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1254014

FromRob Herring <robh@kernel.org>
Date2015-10-22 19:50 +0200
Message-ID<qms9Z-19p-27@gated-at.bofh.it>
In reply to#1252644
On Wed, Oct 21, 2015 at 4:53 AM, Eric Anholt <eric@anholt.net> wrote:
> Dave suggested it was time to just send a pull request on the driver, so
> here goes:

Why is that when the binding is still under discussion[1]? Even the
agreed changes never got reposted.

Rob

[1] https://lkml.org/lkml/2015/10/9/676

>
> The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:
>
>   Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)
>
> are available in the git repository at:
>
>   http://github.com/anholt/linux drm-vc4-next-2015-10-21
>
> for you to fetch changes up to 98a44504541c6befb28366eb9ec432ba44070dd9:
>
>   drm/vc4: Allow vblank to be disabled (2015-10-21 10:33:13 +0100)
>
> ----------------------------------------------------------------
> This pull request introduces the vc4 driver, for kernel modesetting on
> the Raspberry Pi (bcm2835/bcm2836 architectures).  It currently
> supports a display plane and cursor on the HDMI output.  The driver
> doesn't do 3D, power management, or overlay planes yet.
>
> ----------------------------------------------------------------
> Derek Foreman (2):
>       drm/vc4: Use the fbdev_cma helpers
>       drm/vc4: Allow vblank to be disabled
>
> Eric Anholt (2):
>       drm/vc4: Add devicetree bindings for VC4.
>       drm/vc4: Add KMS support for Raspberry Pi.
>
>  .../devicetree/bindings/display/brcm,bcm-vc4.txt   |  65 ++
>  drivers/gpu/drm/Kconfig                            |   2 +
>  drivers/gpu/drm/Makefile                           |   1 +
>  drivers/gpu/drm/vc4/Kconfig                        |  13 +
>  drivers/gpu/drm/vc4/Makefile                       |  17 +
>  drivers/gpu/drm/vc4/vc4_bo.c                       |  52 ++
>  drivers/gpu/drm/vc4/vc4_crtc.c                     | 672 +++++++++++++++++++++
>  drivers/gpu/drm/vc4/vc4_debugfs.c                  |  39 ++
>  drivers/gpu/drm/vc4/vc4_drv.c                      | 298 +++++++++
>  drivers/gpu/drm/vc4/vc4_drv.h                      | 145 +++++
>  drivers/gpu/drm/vc4/vc4_hdmi.c                     | 590 ++++++++++++++++++
>  drivers/gpu/drm/vc4/vc4_hvs.c                      | 163 +++++
>  drivers/gpu/drm/vc4/vc4_kms.c                      |  67 ++
>  drivers/gpu/drm/vc4/vc4_plane.c                    | 320 ++++++++++
>  drivers/gpu/drm/vc4/vc4_regs.h                     | 570 +++++++++++++++++
>  15 files changed, 3014 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
>  create mode 100644 drivers/gpu/drm/vc4/Kconfig
>  create mode 100644 drivers/gpu/drm/vc4/Makefile
>  create mode 100644 drivers/gpu/drm/vc4/vc4_bo.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_crtc.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_debugfs.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.h
>  create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_hvs.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_kms.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_plane.c
>  create mode 100644 drivers/gpu/drm/vc4/vc4_regs.h
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1254142

FromDaniel Vetter <daniel@ffwll.ch>
Date2015-10-22 22:00 +0200
Message-ID<qmubM-43S-15@gated-at.bofh.it>
In reply to#1254014
On Thu, Oct 22, 2015 at 12:40:23PM -0500, Rob Herring wrote:
> On Wed, Oct 21, 2015 at 4:53 AM, Eric Anholt <eric@anholt.net> wrote:
> > Dave suggested it was time to just send a pull request on the driver, so
> > here goes:
> 
> Why is that when the binding is still under discussion[1]? Even the
> agreed changes never got reposted.

Bit a longer story, so here we go: I don't really like drivers/staging
since it's a cage where drivers get forgotten about, and even if there is
activity it's completely separate from all the other drm drivers. Which
doesn't help with collaboration, which is the entire point really of
upstreaming.

Otoh I really like how drivers/staging allows not-quite-ready drivers to
get in and get more visibility. So for drm I think the right approach is
to just merge drivers which are reasonable close to good enough, and fix
up anything erregrious once merged. This might be special for drm, since
gpus change ridiculously fast, resulting in anyone contributing for more
than 2-3 years to be constantly busy cleaning up past code that turned out
a mistake in light of todays hardware. I think that means overall drm has
a lower bar to entry and much higher acceptance for crap. And there's lots
of it. Could very well be that most of the drm subsystem should be in
drivers/staging by everyone else's standard.

For this specific case here of the rpi driver the only ongoing thing was
the dt binding discussion, and it didn't look like it would reach closure
anytime soon. On top of that this driver is for rpi specifically (vc5 will
require a completely new driver for a bunch of reasons), and on those
boards the boot loader will never ship a dt file, it will always come from
the kernel. Which means it's really just an internal interface and there's
zero concerns about compatibility.

Also, besides dt Eric's driver was in excellent shape. Given all that I've
seen no reason to delay this any longer and recommended we just pull it
in.

Yours, Daniel

> 
> Rob
> 
> [1] https://lkml.org/lkml/2015/10/9/676
> 
> >
> > The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:
> >
> >   Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)
> >
> > are available in the git repository at:
> >
> >   http://github.com/anholt/linux drm-vc4-next-2015-10-21
> >
> > for you to fetch changes up to 98a44504541c6befb28366eb9ec432ba44070dd9:
> >
> >   drm/vc4: Allow vblank to be disabled (2015-10-21 10:33:13 +0100)
> >
> > ----------------------------------------------------------------
> > This pull request introduces the vc4 driver, for kernel modesetting on
> > the Raspberry Pi (bcm2835/bcm2836 architectures).  It currently
> > supports a display plane and cursor on the HDMI output.  The driver
> > doesn't do 3D, power management, or overlay planes yet.
> >
> > ----------------------------------------------------------------
> > Derek Foreman (2):
> >       drm/vc4: Use the fbdev_cma helpers
> >       drm/vc4: Allow vblank to be disabled
> >
> > Eric Anholt (2):
> >       drm/vc4: Add devicetree bindings for VC4.
> >       drm/vc4: Add KMS support for Raspberry Pi.
> >
> >  .../devicetree/bindings/display/brcm,bcm-vc4.txt   |  65 ++
> >  drivers/gpu/drm/Kconfig                            |   2 +
> >  drivers/gpu/drm/Makefile                           |   1 +
> >  drivers/gpu/drm/vc4/Kconfig                        |  13 +
> >  drivers/gpu/drm/vc4/Makefile                       |  17 +
> >  drivers/gpu/drm/vc4/vc4_bo.c                       |  52 ++
> >  drivers/gpu/drm/vc4/vc4_crtc.c                     | 672 +++++++++++++++++++++
> >  drivers/gpu/drm/vc4/vc4_debugfs.c                  |  39 ++
> >  drivers/gpu/drm/vc4/vc4_drv.c                      | 298 +++++++++
> >  drivers/gpu/drm/vc4/vc4_drv.h                      | 145 +++++
> >  drivers/gpu/drm/vc4/vc4_hdmi.c                     | 590 ++++++++++++++++++
> >  drivers/gpu/drm/vc4/vc4_hvs.c                      | 163 +++++
> >  drivers/gpu/drm/vc4/vc4_kms.c                      |  67 ++
> >  drivers/gpu/drm/vc4/vc4_plane.c                    | 320 ++++++++++
> >  drivers/gpu/drm/vc4/vc4_regs.h                     | 570 +++++++++++++++++
> >  15 files changed, 3014 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
> >  create mode 100644 drivers/gpu/drm/vc4/Kconfig
> >  create mode 100644 drivers/gpu/drm/vc4/Makefile
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_bo.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_crtc.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_debugfs.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_drv.h
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_hdmi.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_hvs.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_kms.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_plane.c
> >  create mode 100644 drivers/gpu/drm/vc4/vc4_regs.h
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1254198

FromDave Airlie <airlied@gmail.com>
Date2015-10-23 00:10 +0200
Message-ID<qmwdA-7el-17@gated-at.bofh.it>
In reply to#1254142
On 23 October 2015 at 05:58, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Oct 22, 2015 at 12:40:23PM -0500, Rob Herring wrote:
>> On Wed, Oct 21, 2015 at 4:53 AM, Eric Anholt <eric@anholt.net> wrote:
>> > Dave suggested it was time to just send a pull request on the driver, so
>> > here goes:
>>
>> Why is that when the binding is still under discussion[1]? Even the
>> agreed changes never got reposted.
>
> Bit a longer story, so here we go: I don't really like drivers/staging
> since it's a cage where drivers get forgotten about, and even if there is
> activity it's completely separate from all the other drm drivers. Which
> doesn't help with collaboration, which is the entire point really of
> upstreaming.
>
> Otoh I really like how drivers/staging allows not-quite-ready drivers to
> get in and get more visibility. So for drm I think the right approach is
> to just merge drivers which are reasonable close to good enough, and fix
> up anything erregrious once merged. This might be special for drm, since
> gpus change ridiculously fast, resulting in anyone contributing for more
> than 2-3 years to be constantly busy cleaning up past code that turned out
> a mistake in light of todays hardware. I think that means overall drm has
> a lower bar to entry and much higher acceptance for crap. And there's lots
> of it. Could very well be that most of the drm subsystem should be in
> drivers/staging by everyone else's standard.
>
> For this specific case here of the rpi driver the only ongoing thing was
> the dt binding discussion, and it didn't look like it would reach closure
> anytime soon. On top of that this driver is for rpi specifically (vc5 will
> require a completely new driver for a bunch of reasons), and on those
> boards the boot loader will never ship a dt file, it will always come from
> the kernel. Which means it's really just an internal interface and there's
> zero concerns about compatibility.

Yes besides the binding everything was ready, the drm API was more likely
to go stale and cause regressions/problems than fixing up what is at least
in this case going to be an in-tree interface, since there are thousands
of these boards in existance. I'm also travelling next week and I'd rather
not be pulling trees into drm-next too much.

The dt discussion can still go on, and we can merge the changes, before,
during after the merge window.

Dave.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web