[v3,0/8] drm/panfrost: Add heap and no execute buffer allocation

Message ID 20190802195150.23207-1-robh@kernel.org
Headers show
Series
  • drm/panfrost: Add heap and no execute buffer allocation
Related show

Message

Rob Herring Aug. 2, 2019, 7:51 p.m.
This series adds new BO allocation flags PANFROST_BO_HEAP and
PANFROST_BO_NOEXEC. The heap allocations are paged in on GPU page faults.

Tomeu reports he has tested this in the panfrost CI.

This is based on drm-misc-next. An updated branch is here[1].

v3:
 - Retain shared irq support, splitting IRQ changes to separate patch (6/8)
 - Stop leaking SG tables
 - Prevent mmap and pinning pages for heap BOs

Rob

[1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git panfrost/heap-noexec


Rob Herring (8):
  drm/gem: Allow sparsely populated page arrays in drm_gem_put_pages
  drm/shmem: Put pages independent of a SG table being set
  drm/panfrost: Restructure the GEM object creation
  drm/panfrost: Split panfrost_mmu_map SG list mapping to its own
    function
  drm/panfrost: Add a no execute flag for BO allocations
  drm/panfrost: Convert MMU IRQ handler to threaded handler
  drm/panfrost: Add support for GPU heap allocations
  drm/panfrost: Bump driver version to 1.1

 drivers/gpu/drm/drm_gem.c               |   3 +
 drivers/gpu/drm/drm_gem_shmem_helper.c  |   4 +-
 drivers/gpu/drm/panfrost/TODO           |   2 -
 drivers/gpu/drm/panfrost/panfrost_drv.c |  65 ++++++--
 drivers/gpu/drm/panfrost/panfrost_gem.c | 106 +++++++++++--
 drivers/gpu/drm/panfrost/panfrost_gem.h |  16 +-
 drivers/gpu/drm/panfrost/panfrost_mmu.c | 200 ++++++++++++++++++++----
 include/uapi/drm/panfrost_drm.h         |   3 +
 8 files changed, 333 insertions(+), 66 deletions(-)

--
2.20.1

Comments

Tomeu Vizoso Aug. 5, 2019, 4:09 p.m. | #1
On 8/2/19 9:51 PM, Rob Herring wrote:
> This series adds new BO allocation flags PANFROST_BO_HEAP and
> PANFROST_BO_NOEXEC. The heap allocations are paged in on GPU page faults.
> 
> Tomeu reports he has tested this in the panfrost CI.

All seems to be working fine:

https://gitlab.freedesktop.org/tomeu/mesa/pipelines/53591

Cheers,

Tomeu

> 
> This is based on drm-misc-next. An updated branch is here[1].
> 
> v3:
>   - Retain shared irq support, splitting IRQ changes to separate patch (6/8)
>   - Stop leaking SG tables
>   - Prevent mmap and pinning pages for heap BOs
> 
> Rob
> 
> [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git panfrost/heap-noexec
> 
> 
> Rob Herring (8):
>    drm/gem: Allow sparsely populated page arrays in drm_gem_put_pages
>    drm/shmem: Put pages independent of a SG table being set
>    drm/panfrost: Restructure the GEM object creation
>    drm/panfrost: Split panfrost_mmu_map SG list mapping to its own
>      function
>    drm/panfrost: Add a no execute flag for BO allocations
>    drm/panfrost: Convert MMU IRQ handler to threaded handler
>    drm/panfrost: Add support for GPU heap allocations
>    drm/panfrost: Bump driver version to 1.1
> 
>   drivers/gpu/drm/drm_gem.c               |   3 +
>   drivers/gpu/drm/drm_gem_shmem_helper.c  |   4 +-
>   drivers/gpu/drm/panfrost/TODO           |   2 -
>   drivers/gpu/drm/panfrost/panfrost_drv.c |  65 ++++++--
>   drivers/gpu/drm/panfrost/panfrost_gem.c | 106 +++++++++++--
>   drivers/gpu/drm/panfrost/panfrost_gem.h |  16 +-
>   drivers/gpu/drm/panfrost/panfrost_mmu.c | 200 ++++++++++++++++++++----
>   include/uapi/drm/panfrost_drm.h         |   3 +
>   8 files changed, 333 insertions(+), 66 deletions(-)
> 
> --
> 2.20.1
>
Rob Herring Aug. 5, 2019, 9:10 p.m. | #2
On Mon, Aug 5, 2019 at 10:10 AM Tomeu Vizoso <tomeu.vizoso@collabora.com> wrote:
>
> On 8/2/19 9:51 PM, Rob Herring wrote:
> > This series adds new BO allocation flags PANFROST_BO_HEAP and
> > PANFROST_BO_NOEXEC. The heap allocations are paged in on GPU page faults.
> >
> > Tomeu reports he has tested this in the panfrost CI.
>
> All seems to be working fine:
>
> https://gitlab.freedesktop.org/tomeu/mesa/pipelines/53591

Thanks for testing. Is that a Tested-by?

Rob
Tomeu Vizoso Aug. 6, 2019, 5:23 a.m. | #3
On 8/5/19 11:10 PM, Rob Herring wrote:
> On Mon, Aug 5, 2019 at 10:10 AM Tomeu Vizoso <tomeu.vizoso@collabora.com> wrote:
>>
>> On 8/2/19 9:51 PM, Rob Herring wrote:
>>> This series adds new BO allocation flags PANFROST_BO_HEAP and
>>> PANFROST_BO_NOEXEC. The heap allocations are paged in on GPU page faults.
>>>
>>> Tomeu reports he has tested this in the panfrost CI.
>>
>> All seems to be working fine:
>>
>> https://gitlab.freedesktop.org/tomeu/mesa/pipelines/53591
> 
> Thanks for testing. Is that a Tested-by?

Yep.

Thanks,

Tomeu