From patchwork Mon Apr 1 07:47:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Rob Herring \(Arm\)" X-Patchwork-Id: 161518 Delivered-To: patch@linaro.org Received: by 2002:a02:c6d8:0:0:0:0:0 with SMTP id r24csp134902jan; Mon, 1 Apr 2019 00:47:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqyMJOtW25k/E4oBqPKyzEoYrhKAOhUlubMXHnn+KfnUhWjEC76v7fZe514ftntxglwjqnjL X-Received: by 2002:a63:61d7:: with SMTP id v206mr58508502pgb.349.1554104860355; Mon, 01 Apr 2019 00:47:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554104860; cv=none; d=google.com; s=arc-20160816; b=wBeWU+q4efPRFMdwSq0w3Y+GLyylwPiaVlf01g4PoCz3CIQz8GI6WyvsRwmzGzZyQ9 ay9/eiznXaAEgJMdLi4y7frhqt0F8d7v0HbncIjdhzkXta2lkC5DXMOGNIf1L/CgDAS4 HuxLPPqvSGX6BdgHegfnSWIQz1wi/QLVWCjWn2pPXAaArcwPbD9I06/jKHNvDPajgi65 3hTZU/CamiIK97GEh1QjfxMF+RgIUGE1N4qqtIGKrnmhotrVAGpLAQdRYavvs+r2MWIS jiifxAv/dQAGUUS93jhF8F+dPswWz8Aet6LMUr91RHX9D5AmAjFPG8Y/xs4YvtMWlQdc GEEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=hLFIabtfPdGj+2XLCFlOKbrmi9QIk3TU0jAr0rq6mdA=; b=xS8jxKzISQyVoKny2OqrkQ7wWtt36/CUNbkxE3bWtCJsX7GQSKlWvaadLOWnj8mHLo /Hqvk+0DV4ldiBT1tcCo6zZf7OhWpH95XNuCKsm4JNGK956Kc+1j6KHznQ2AZyl5ImT8 5FBqY1uHDDiI6F9WIt5gF/c8KXY799Nq72BQDcqmPalYdPsi6aWqcYF5fYc3DeG2ALmA u6QRx60R9sdHn3vr/CqNylbAnZEbufzg4lkW27LVSxWP3PVStXMyxbdmpio3nHt6PfGF DOIQeh3KIhgJjJsruxZTaq3zF1i/x0Kpw6MTyLJNu2Nl9BJqCwRKoHqCtSFQXShmbEUb okGg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 124si2709644pgi.38.2019.04.01.00.47.40; Mon, 01 Apr 2019 00:47:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732024AbfDAHri (ORCPT + 31 others); Mon, 1 Apr 2019 03:47:38 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:46525 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731769AbfDAHri (ORCPT ); Mon, 1 Apr 2019 03:47:38 -0400 Received: by mail-pg1-f196.google.com with SMTP id q1so4308054pgv.13 for ; Mon, 01 Apr 2019 00:47:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hLFIabtfPdGj+2XLCFlOKbrmi9QIk3TU0jAr0rq6mdA=; b=pz1MXr/Ij6KkUcUaoQSaLSsyFNUxj6lsctBEr3A0TIfDZK1xXiSzuPhRcQQ/EThRDJ /oi4aqe5op+Xl+d9HHxaMJG054LqVqHoqMepsJsDNn32kGsw7L2U5L9GPaIf+x56Z0Wt EfRT8SqaWrbCRrnZULXYWlYlF3zqpP/R/XmtFm9qV3BBgb0l3TG58fBdzbKSkE38d6jH mHaTT2sLf5DpEFXM9GTl/I9n3MsafMa5GuIdrSOhzsvBURMLGBdW/JfVq6SHBr7XvLFd 6pgNDjXgBycN1cr3dS1j2Ud0qeF9nXfbPNumrA5khsAh23uP7pOA/6UCKiAVVuN0BuKQ 2OZQ== X-Gm-Message-State: APjAAAW825iPjwZ+6uc92x9CX09ffoGaWTK4UR1in6O/HQd8b9TKKIfG VLEcuBQkL55NsAEJQuDPRTG+zMG1rQ== X-Received: by 2002:a62:1c07:: with SMTP id c7mr23011676pfc.159.1554104857107; Mon, 01 Apr 2019 00:47:37 -0700 (PDT) Received: from xps15.imgcgcw.net ([147.50.13.10]) by smtp.googlemail.com with ESMTPSA id o5sm33428950pfa.135.2019.04.01.00.47.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 01 Apr 2019 00:47:36 -0700 (PDT) From: Rob Herring To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Will Deacon , Robin Murphy , Joerg Roedel , iommu@lists.linux-foundation.org, Maarten Lankhorst , Maxime Ripard , Sean Paul , David Airlie , Daniel Vetter , Alyssa Rosenzweig , Lyude Paul , Eric Anholt , Neil Armstrong Subject: [PATCH v2 0/3] Initial Panfrost driver Date: Mon, 1 Apr 2019 02:47:27 -0500 Message-Id: <20190401074730.12241-1-robh@kernel.org> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Here's v2 of the panfrost driver. Lots of improvements from the RFC primarily with support for job hangs resetting the GPU and runtime-pm thanks to Tomeu. Several dependencies have been applied already, but the first 2 patches are the remaining dependencies. We need to take the iommu change via drm-misc or we need a stable branch. A git branch is here[1]. Rob [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git panfrost-rebase-v2 Rob Herring (3): iommu: io-pgtable: Add ARM Mali midgard MMU page table format drm: Add a drm_gem_objects_lookup helper drm/panfrost: Add initial panfrost driver drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/drm_gem.c | 46 +- drivers/gpu/drm/panfrost/Kconfig | 14 + drivers/gpu/drm/panfrost/Makefile | 12 + drivers/gpu/drm/panfrost/TODO | 27 + drivers/gpu/drm/panfrost/panfrost_devfreq.c | 191 +++++++ drivers/gpu/drm/panfrost/panfrost_devfreq.h | 14 + drivers/gpu/drm/panfrost/panfrost_device.c | 227 ++++++++ drivers/gpu/drm/panfrost/panfrost_device.h | 118 ++++ drivers/gpu/drm/panfrost/panfrost_drv.c | 484 ++++++++++++++++ drivers/gpu/drm/panfrost/panfrost_features.h | 309 +++++++++++ drivers/gpu/drm/panfrost/panfrost_gem.c | 92 +++ drivers/gpu/drm/panfrost/panfrost_gem.h | 29 + drivers/gpu/drm/panfrost/panfrost_gpu.c | 374 +++++++++++++ drivers/gpu/drm/panfrost/panfrost_gpu.h | 19 + drivers/gpu/drm/panfrost/panfrost_issues.h | 176 ++++++ drivers/gpu/drm/panfrost/panfrost_job.c | 556 +++++++++++++++++++ drivers/gpu/drm/panfrost/panfrost_job.h | 51 ++ drivers/gpu/drm/panfrost/panfrost_mmu.c | 366 ++++++++++++ drivers/gpu/drm/panfrost/panfrost_mmu.h | 17 + drivers/gpu/drm/panfrost/panfrost_regs.h | 298 ++++++++++ drivers/iommu/io-pgtable-arm.c | 93 +++- drivers/iommu/io-pgtable.c | 1 + include/drm/drm_gem.h | 2 + include/linux/io-pgtable.h | 7 + include/uapi/drm/panfrost_drm.h | 140 +++++ 27 files changed, 3633 insertions(+), 33 deletions(-) create mode 100644 drivers/gpu/drm/panfrost/Kconfig create mode 100644 drivers/gpu/drm/panfrost/Makefile create mode 100644 drivers/gpu/drm/panfrost/TODO create mode 100644 drivers/gpu/drm/panfrost/panfrost_devfreq.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_devfreq.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_device.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_device.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_drv.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_features.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_gem.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_gem.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_gpu.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_gpu.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_issues.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_job.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_job.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_mmu.c create mode 100644 drivers/gpu/drm/panfrost/panfrost_mmu.h create mode 100644 drivers/gpu/drm/panfrost/panfrost_regs.h create mode 100644 include/uapi/drm/panfrost_drm.h -- 2.19.1 Reviewed-by: Eric Anholt Acked-by: Robin Murphy Signed-off-by: Steven Price