[PATCH v2 00/15] drm: Add a driver for FW-based Mali GPUs

Boris Brezillon boris.brezillon at collabora.com
Thu Aug 10 15:44:38 UTC 2023


Hello Rob,

On Wed, 9 Aug 2023 14:22:59 -0600
Rob Herring <robh at kernel.org> wrote:

> On Wed, Aug 9, 2023 at 10:53 AM Boris Brezillon
> <boris.brezillon at collabora.com> wrote:
> >
> > I tried to Cc anyone that was involved in any development of the code
> > I picked from panfrost, so they can acknowledge the GPL2 -> MIT+GPL2
> > change. If I missed someone, please let me know.  
> 
> Panfrost was largely based on etnaviv, vc4, v3d, and msm. Those are
> all GPL2 (or 2+) only.

Uh, I must have missed some copyright headers then. Note that not all
panfrost files were taken as a base for panthor:

- Makefile/Kconfig. I honestly hope there's nothing copyright-able in
  there, given there's no other way to define your driver and
  compilation rules.
- panthor_device.{c,h} copied from panfrost_device.{c,h} with quite a
  few modifications in the process. This one has your copyright, and
  Marty's one.
- a tiny part of panthor_drv.c was copied from panfrost_drv.c, but let's
  be honest, the part that was copied (ioctl wrappers, mostly), can't
  really be done differently. This one has your copyright, Marty's one,
  and Collabora's one.
- panthor_regs.h copied from panfrost_regs.h. This one has your
  copyright, Marty's one and Arm's one (definitions extracted from
  kbase). But again, I'm not even sure register definitions are
  copyright-able, given there's no other way to define them. If that
  makes a difference, I changed the prefix, and dropped definition that
  do not exist on CSF HW.
- panthor_gpu.{c,h} copied from panfrost_gpu.{c,h}. These files have
  your copyright, Marty's one, and Collabora's one.
- panthor_{gem,mmu}.{c,h} copied from panfrost_{gem,mmu}.{c,h}. Those
  ones have your copyright only.
- panthor_devfreq.{c,h} copied from panfrost_devfreq.{c,h}. Collabora's
  copyright only.
- panthor_{heap,fw,sched}.{c,h}. Those are brand new files, that were
  written from scratch.

I also git-blamed the lines I copies to Cc any contributors to the
above files. I might have omitted someone, but I did my best to
try and spot people that have a word in this decision.

> How is relicensing that code okay?

Sorry, the copyright headers of the files I copied didn't mention that
:-/. If that's an omission, it would be good to have the headers updated
to reflect the actual chain of copyrights.

> Also,
> panfrost depends on drm_gem_shmem_helper.c (at least) which is GPL2.
> Does that get re-implemented in a MIT licensed environment?

Not only drm_gem_shmem, but drm_gpuva_mgr and drm_sched too. And yes,
any helper function/lib that's not GPL+MIT will have to be
re-implemented or replaced by something else.

> 
> Maybe some drivers are enough of a silo to get away with MIT
> licensing, but I wouldn't be comfortable claiming it.

Well, yes, re-using the code as-is is almost impossible, unless
someone rewrites the various GPL components we depend on. But if
someone wants to pick, say, the scheduling logic, and replace drm_sched
by something else, they can. Not saying it's worth it, just saying it's
possible.

Regards,

Boris



More information about the dri-devel mailing list