Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4222270yba; Tue, 9 Apr 2019 13:57:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqxzAogllDEclRmhrmH5Wy1nKgBoWPGlyW6reO1fEp8HkaHfF8IzMsRoyeTYW2wxBjAIErbb X-Received: by 2002:a17:902:d68d:: with SMTP id v13mr39769509ply.55.1554843444657; Tue, 09 Apr 2019 13:57:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554843444; cv=none; d=google.com; s=arc-20160816; b=Dc/CInQMOJ70Tt/NRjyATUVHsmCzMuvPwlLMjzhsS4TtkUyNpJm6DiqCjflvcxyML6 NzAZFtqIZ5V5jcxFOlSc35ARqGTWBEM1P0BfFDEklGdBlOV7aodhtEp91hRgLBRRVj6+ brY2gY3VahvBe6J9xTJqY6DntYl88XvXPmdeJ8pGMLxPMnRjf84J/vwJNDpn8DKcvdsr VPvUSk8VJclVTey35VCCojEeXm7zXEhUPySZ9q8rX9a9CDXVsh0IqawG67nMlzr+6eeh b9eJ6pbgL5qSRyiSzNo1sly0JaLWJFWzndQ8pqSqipLbtQRk5UHX18afDD8hQDwBOPKP kG6w== 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=OQOCMV3xKrmHqHY1PVCBaCxVJYAiJpfExHpXaR163xc=; b=n2pK6cpEAUWRjbcC9C8mWit3JpZcNZ53GATFkMQzyGMZDhnOxGv9/buuxu2G0M3q+q Yi4IQlGrFULv/5BgArjtc/Dpij7tqH65gbPAOq3gQk9exmFRoiBP4sb0XL+4l+zuyNrd jdntlj5xSh04f5JaA4UywoN8P4N05g7VTczl3mpbTRncSXSakC72yGsQHal9FgOEqq6m zlbNwL1TxN55T/0f7sw0tUSGOasQ/rRYdcyjdfOaVelzdR7DNW2TEXfvdlMrxJrQncju bpdpFPgJzlVlExj1sjD13MKWpYrlHl6DDBR8ryLOJ30P5i7RXolRXWcXy0xBA3+dKQ07 1uHw== 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 q4si30107824pfh.157.2019.04.09.13.57.09; Tue, 09 Apr 2019 13:57:24 -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 S1726580AbfDIUya (ORCPT + 99 others); Tue, 9 Apr 2019 16:54:30 -0400 Received: from mail-oi1-f194.google.com ([209.85.167.194]:40559 "EHLO mail-oi1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726479AbfDIUya (ORCPT ); Tue, 9 Apr 2019 16:54:30 -0400 Received: by mail-oi1-f194.google.com with SMTP id 3so14817408oir.7 for ; Tue, 09 Apr 2019 13:54:29 -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=OQOCMV3xKrmHqHY1PVCBaCxVJYAiJpfExHpXaR163xc=; b=bXTb4YUA++DKI/zuZEYuy85WYD8n2sUs7nM1XOIUSJ7NbjwZtT00qlrjTrPkMkQhPh JNeOzXE6zQDfARkei+51R/gjlY4F96WOwHUSL180xCUGoan/U8pvTfgZottj4Ysq3kTr lLDcjb8qKZjtvOkyIpsq4AaOF+QGpo4uqFZ4fzXpGlcUzlDm+3CFYHYFA+LVFwOmjtQM ebD5saXOJ1C8VBOisAKQkENlaUth6l8sJIVnigAvkWWwazJ0h57kXZbbvjY91wsLdh1l BGBBSj58v1UfPKS7RFYI1EiPIWL3a6gS51OxxJY/oZAj7vEcG2X8iGoWyErbaUElAR3R IdcA== X-Gm-Message-State: APjAAAU2UFafXFzexyxSIXBD7p1xXzbQJ5cX1MlCULKsrNIHHwEkhCFl Vw04sODvh8l0yEYBeZAS/w== X-Received: by 2002:aca:b886:: with SMTP id i128mr207754oif.169.1554843268821; Tue, 09 Apr 2019 13:54:28 -0700 (PDT) Received: from xps15.herring.priv (24-155-109-49.dyn.grandenetworks.net. [24.155.109.49]) by smtp.googlemail.com with ESMTPSA id o66sm6472175oig.11.2019.04.09.13.54.27 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 09 Apr 2019 13:54:28 -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 , Steven Price , Boris Brezillon Subject: [PATCH v3 0/3] Initial Panfrost driver Date: Tue, 9 Apr 2019 15:54:24 -0500 Message-Id: <20190409205427.6943-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 v3 of the panfrost driver. Lot's of changes from review comments and further testing. Details are in each patch. Of note, a problem with MMU page faults has been addressed improving the stability. In the process, the TLB invalidate has been optimized which Tomeu says has improved the performance some. 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. I'm hoping this is the last version. I'm hoping to apply this to drm-misc this week before -rc5 cutoff. A git branch is here[1]. Rob [1] git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git panfrost-rebase-v3 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 MAINTAINERS | 9 + drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/drm_gem.c | 93 ++- 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 | 218 ++++++++ drivers/gpu/drm/panfrost/panfrost_devfreq.h | 14 + drivers/gpu/drm/panfrost/panfrost_device.c | 252 +++++++++ drivers/gpu/drm/panfrost/panfrost_device.h | 124 ++++ drivers/gpu/drm/panfrost/panfrost_drv.c | 460 +++++++++++++++ drivers/gpu/drm/panfrost/panfrost_features.h | 309 ++++++++++ drivers/gpu/drm/panfrost/panfrost_gem.c | 95 ++++ drivers/gpu/drm/panfrost/panfrost_gem.h | 29 + drivers/gpu/drm/panfrost/panfrost_gpu.c | 362 ++++++++++++ drivers/gpu/drm/panfrost/panfrost_gpu.h | 19 + drivers/gpu/drm/panfrost/panfrost_issues.h | 176 ++++++ drivers/gpu/drm/panfrost/panfrost_job.c | 560 +++++++++++++++++++ drivers/gpu/drm/panfrost/panfrost_job.h | 51 ++ drivers/gpu/drm/panfrost/panfrost_mmu.c | 369 ++++++++++++ drivers/gpu/drm/panfrost/panfrost_mmu.h | 17 + drivers/gpu/drm/panfrost/panfrost_regs.h | 298 ++++++++++ drivers/iommu/io-pgtable-arm.c | 91 ++- drivers/iommu/io-pgtable.c | 1 + include/drm/drm_gem.h | 2 + include/linux/io-pgtable.h | 7 + include/uapi/drm/panfrost_drm.h | 142 +++++ 28 files changed, 3722 insertions(+), 32 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