Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp28969yba; Mon, 1 Apr 2019 00:48:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqwrWi8TdyRzHS62hfojK+725r7ih9ISOtJr0QM8MoQXIGJNPUtu3aSYLEwAhxCz76y+bitJ X-Received: by 2002:a17:902:e305:: with SMTP id cg5mr33113580plb.340.1554104915416; Mon, 01 Apr 2019 00:48:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554104915; cv=none; d=google.com; s=arc-20160816; b=ThHmsYl2TjLMsVdTEy9cOxcXZDiPSVYDeY7EbM0H9rbT4b7i2OvdX6Ukk16Dqcz0k1 p+NcccQLry1z1lUkWA4KX1NFesAK/BPaWxh740Z7YeWNFnAr2nkfHAvHagKpjV3NhJOe f7S99EyNRNLBU0xOObRJkSf6TmRLttRmHvd9pebdlOfgikSmTienANVFXTGxMWcpTYIU Exr9AkEthCXyjXMZJtrzDYG2vPOZLh2YRu41cq3u934oXvlOpgEzwdeuUvMxe/vMw7oj H4AUk/7gLtI5a9rcRxhYvpcHtRMDn1tSsh3v1KjncyIZzJguuRwiYEylwzFF/W4hNqZ7 ur/g== 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 t192si8328437pgb.124.2019.04.01.00.48.19; Mon, 01 Apr 2019 00:48:35 -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 S1732020AbfDAHri (ORCPT + 99 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 Content-Transfer-Encoding: 8bit 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