From patchwork Thu Mar 1 10:01:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Axtens X-Patchwork-Id: 879666 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3zsSdN0rgcz9s1X; Thu, 1 Mar 2018 21:01:44 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1erL1w-00009a-10; Thu, 01 Mar 2018 10:01:40 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1erL1u-000096-AZ for kernel-team@lists.canonical.com; Thu, 01 Mar 2018 10:01:38 +0000 Received: from mail-pl0-f71.google.com ([209.85.160.71]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1erL1t-0006QM-VG for kernel-team@lists.canonical.com; Thu, 01 Mar 2018 10:01:38 +0000 Received: by mail-pl0-f71.google.com with SMTP id q5-v6so3151933pll.17 for ; Thu, 01 Mar 2018 02:01:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E5TBIrvkCcFMNRllUFqA28y07PMJyhyfO6Pu2ZZt1QM=; b=nelFtQAvP11UBsRqA51pxissv7X5ifkbqwjrD1kwPZh3btV4jOR9D4btLyXqNHSwbl 80DNh67hzsoPQ1tYu1ofjLf+fwtbSZTQe6NgTF2QRfEzFcpnqmaDaitqxSog//JwTJ+4 R1pRMu7tm3zjtuiBg09cEjzBVY7TTyl8B8xLCN3m0V7y9cNGc+++FsbPuhVaKUAWwPQj RKcPYKrLSQZ+ZHjmwc87cvGJXGtqShkhQLHm+YQ/OsuYKZSSroqEK5MJBfu3txaWds3K tAmW0mEIT0JJI7tnRrTIMr2OFJo0EZIpH57fsylGxw1lefqjzyDWxurZXQWwZztv33zj usRQ== X-Gm-Message-State: APf1xPDFTJ7xZz6buzGEfQk1QP/PcW0mBKGjQrw/BpZ32rOusEPH48eq r57Eu4hxLwsRTJ9X7DbVxcGpBNbUUhU8gVa9dMGUJkKoI1n806ZoiV3X4rRXgms/B6gELrII57f so4Of+BFgjY3ud0W2n7utugj85tbX13il03HX50bLTDIvoA4V X-Received: by 10.98.79.90 with SMTP id d87mr1352703pfb.41.1519898495219; Thu, 01 Mar 2018 02:01:35 -0800 (PST) X-Google-Smtp-Source: AG47ELubZCtB1Y4dqZdRU92mXTP5H6woDQkyiHYrYtYqHEe6mnlOEqixez9qmTgY3q6HWcS6RPEr8Q== X-Received: by 10.98.79.90 with SMTP id d87mr1352534pfb.41.1519898492636; Thu, 01 Mar 2018 02:01:32 -0800 (PST) Received: from localhost.localdomain (124-171-212-101.dyn.iinet.net.au. [124.171.212.101]) by smtp.gmail.com with ESMTPSA id d193sm6313780pgc.30.2018.03.01.02.01.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Mar 2018 02:01:32 -0800 (PST) From: Daniel Axtens To: kernel-team@lists.canonical.com Subject: [B][PATCH 1/1] drm/ttm: add ttm_bo_io_mem_pfn to check io_mem_pfn Date: Thu, 1 Mar 2018 21:01:04 +1100 Message-Id: <20180301100104.24584-2-daniel.axtens@canonical.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180301100104.24584-1-daniel.axtens@canonical.com> References: <20180301100104.24584-1-daniel.axtens@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Tan Xiaojun BugLink: https://bugs.launchpad.net/bugs/1738334 The io_mem_pfn field was added in commit ea642c3216cb ("drm/ttm: add io_mem_pfn callback") and is called unconditionally. However, not all drivers were updated to set it. Use the ttm_bo_default_io_mem_pfn function if a driver did not set its own. And add new function ttm_bo_io_mem_pfn() as wrapper. Signed-off-by: Michal Srb Signed-off-by: Tan Xiaojun Reviewed-by: Christian König Signed-off-by: Alex Deucher (cherry picked from commit c67fa6edc8b11afe22c88a23963170bf5f151acf) Signed-off-by: Daniel Axtens --- drivers/gpu/drm/ttm/ttm_bo_vm.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index c8ebb757e36b..292d157d1a61 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -92,6 +92,17 @@ static int ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, return ret; } +static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo, + unsigned long page_offset) +{ + struct ttm_bo_device *bdev = bo->bdev; + + if (bdev->driver->io_mem_pfn) + return bdev->driver->io_mem_pfn(bo, page_offset); + + return ttm_bo_default_io_mem_pfn(bo, page_offset); +} + static int ttm_bo_vm_fault(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; @@ -234,7 +245,7 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) if (bo->mem.bus.is_iomem) { /* Iomem should not be marked encrypted */ cvma.vm_page_prot = pgprot_decrypted(cvma.vm_page_prot); - pfn = bdev->driver->io_mem_pfn(bo, page_offset); + pfn = ttm_bo_io_mem_pfn(bo, page_offset); } else { page = ttm->pages[page_offset]; if (unlikely(!page && i == 0)) {