From patchwork Thu Mar 3 18:00:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balasubramani Vivekanandan X-Patchwork-Id: 12767883 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A9E38C433F5 for ; Thu, 3 Mar 2022 18:12:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A16B010EBAC; Thu, 3 Mar 2022 18:12:32 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 95AA110EBAC; Thu, 3 Mar 2022 18:12:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646331151; x=1677867151; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=umTC8Qfmuj+Ho9IVbEsf2oDu0eL2urXELX/pRkyqQoI=; b=KTMKrxp8K8auH6RKpeuGdolKKAERByGn2FdXmk+XKw4Gcxl1NTDV7kUY he8xUyMQpgFhSrMdXuuofy0hedOvb4W4fUMIkjIV8Y/cgIVnB1OxKAt7D fisfEA/OfirY1zQQ+lmoaCBXl7WMspwj95Quynhrk7oH4r+Oqs9b11Pzb +jrzJ8m+3jbbTTgu8bU3jpvXcGDlgF7FuBi846HF361LIA1xsjsjERB+I Vue53WwF4nKbuaTqtXvdLqbl4QopW+VDsHpFtKdjl7mbfn4HCKImY4lZi P8n9DOcvDt9q8Un0EtiMKmU99yQNQWFHE+gcFC0pT60WxG9+NTp6Le0R/ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10275"; a="278447081" X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="278447081" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2022 09:58:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="609658629" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 03 Mar 2022 09:58:53 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 3 Mar 2022 09:58:52 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Thu, 3 Mar 2022 09:58:52 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Thu, 3 Mar 2022 09:58:52 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DIE6HR7Mz2teVmdItlBBGazeRAIzs9z0F+GDMSxe901vtb/kWvoRwXKSU4kWuNx4Caliu+UTqiUooEwySwTEszAgnTI83K03/JQAocdj4PVacNAF7IszbuIOkVaBb24WvV3XO+16rXJeiid9YLkV0F98JKoB+mYgNappOfDAZJt5ReGCIDbXNTfP3fLsDKA/TWtt0iUNywB1rGV/H7iSa2ThMsgU+N2ih96IJAnjQ22uf2SD5qxFrRWpdpukX0mMRCWMxb6waDHXL1gmlDsTL8+MImrlkFPKdx7k9ayBc4yzVLQ+BHUwGLRuU55myR7tKXeBRSOPOtrV37c9JQ8JyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sXbXlfL+FFln6sqUdOPXLoBMSQoQlDBdCFDqQxFHPfc=; b=Udj2e3jKOW8rMrrs1cTFblxQer/Rdoj44a1ByKKwHIoq1yP1ZzYRLzQBwX/p2UNX3AQHM37BQhkvXLIPhrqpH0sDe+Jni1bbqBlUanOxs/aEaiX8piU+ayOZ1Tn5y3lYHMX2MRX78UTU1OQAlM1De+dtvS4ZEA/Be0Ng8/3iI41hZ5UflzgydKsMPODvGTA8kfX7KZNQfVlYG9XWFWVR1Fz+C1vUFETyfQyEEBAnjjQkapl7CabfpUAOrB0LBQ4eJTLa/iHPpvOX4MfBXFVS9f4Qh+rqUcujVN+16bpj6PTmOg88PGQz+vAlFZlSH4SLkrI0ReB2dC1DXKmn4Rzp9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SJ0PR11MB4894.namprd11.prod.outlook.com (2603:10b6:a03:2d4::5) by BN7PR11MB2708.namprd11.prod.outlook.com (2603:10b6:406:a9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Thu, 3 Mar 2022 17:58:49 +0000 Received: from SJ0PR11MB4894.namprd11.prod.outlook.com ([fe80::d67:8a16:f4cd:b475]) by SJ0PR11MB4894.namprd11.prod.outlook.com ([fe80::d67:8a16:f4cd:b475%8]) with mapi id 15.20.5038.014; Thu, 3 Mar 2022 17:58:49 +0000 From: Balasubramani Vivekanandan To: , Subject: [PATCH v2 0/7] drm/i915: Use the memcpy_from_wc function from drm Date: Thu, 3 Mar 2022 23:30:06 +0530 Message-ID: <20220303180013.512219-1-balasubramani.vivekanandan@intel.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: SG2PR06CA0157.apcprd06.prod.outlook.com (2603:1096:1:1e::11) To SJ0PR11MB4894.namprd11.prod.outlook.com (2603:10b6:a03:2d4::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 31270f59-6f9b-4634-bf2d-08d9fd3f783b X-MS-TrafficTypeDiagnostic: BN7PR11MB2708:EE_ X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtFwd,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: koHZKh6ePFXWESxe+Kee9yQELxLUvz0LkWN8kzcQPgqYNdPuqG8jlXjTP8e/v4kz0BXvWw7SvALwScKge7WWRc7FDMu5rFYNuVNDNNIJ4dJn7ZsT2MFmUz1/Gk28cMgfm0Ep7idBuZIVCGUzcviYqVrW1vkmmRQ8PHYCwUp7QKP8wJIJ5/jfN8WLuu59s4TPEPn76IOCiKVYGAarwFTJRgXNIri5aAeHOxPxjNGEUdFp2rcVR/jzl/EoJ+aYy9qBGVmvNRzCOABasm7SummYTtYgeuJgcwzRfOPCCYw1E8Ab6aD7r9zTSgFuEEOLLHs2uvofh5LrUgwIjSTKxbqCP3QfWgA4UKMXdNHPY5A0EehwDuz/+nL/QAoMzGTYDdd3/J8skXwWiEHXgDjdKTzcX5yYy9RYpUpxC5LaSvjnpfDptUry3+OOw24rEUYbCBuBIuzoD6M63/iPtiTDGzsHDuEaZA7seW03WWYSEvTI1wVZmA6Hmz3+aSOQOC2vup4Ahd3JuGdQYosdP/67L/BfX3WcxpgupTtobakjX6Vt0zi31uuAufS/gWAm41jYuk/sf6+eQ/PjPlizt2nDiG1VZ4T2nWhtoOyfc0vpXk9kQdcunRsoxzNrbvZrcgZa204m83fW7W32RItZOD9horCvHQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB4894.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(54906003)(83380400001)(38100700002)(82960400001)(966005)(508600001)(8936002)(6486002)(8676002)(66946007)(36756003)(66476007)(316002)(66556008)(6666004)(44832011)(4326008)(5660300002)(1076003)(2906002)(6512007)(2616005)(26005)(186003)(6506007)(86362001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?+HW56H724iJY+vl84/CVIMzBM79r?= =?utf-8?q?T1WwHyF6u44Xvxn0hCs6x70nJ1LEmphHiOWvJdlDtTeJ6RwryR1BNkOWlVDltKn7m?= =?utf-8?q?KjwYvh60qr4uTHFSR4bYvwLroGkjJrqLV5qmKZFsUrAmcUHmXvk8af8/mliajnG5U?= =?utf-8?q?5Y2UN0WcFn4TiEjsm2K6wbPYknm8rcYAJmscxcGGu+M6jvd1hhvgbAyvzx3kT6iPC?= =?utf-8?q?pgyd6PW1uDy0I+Md41q/yPcScy+NgT85tp02vDtpE7kc6eua8h8CegUxCs9mAHrY9?= =?utf-8?q?NOJTBye36V7sppVO47uyDs8XtVmQVsZk6NFxySRTBdXHGJIeFiR3t16L3OQHS2LXn?= =?utf-8?q?G3HzHVTt66Z1VWzmpzuSlgRCK+fLeWXJP9lEs/6EdubShlYWNqsF9arSBZaP2Okxi?= =?utf-8?q?BG5LefGi38pvrMQ+zZIeLkbXfJZjdIkvhaCsCl2Wb3lwlOC140iDsyzkGN4+QjMol?= =?utf-8?q?pmVNHWjumQcN0nTc3rIh3x68fu43v0TCuCDPZl8sJzIx7DB74Pi6DM+ddTXApQBNw?= =?utf-8?q?mKAjSLxzEELtraPviLUPwnMyEg5UyVDe1WzCDN/c+FMPEPKFOZ9ID9LjhGWCikD/x?= =?utf-8?q?Wn/ljvBewKJKHB9VPO14cuMV81xVnwfxGEg93yfwLs1wDAYgxhUMItOcDzlXP8GZB?= =?utf-8?q?UpAEpaxdLGMmyTNUfqgbLJ6g0mNqFOAO3sYz2+oJ0rqW5qiFtBR8Y+AnLG8TFEYOy?= =?utf-8?q?qO+hEKjo4YykDJifFgVreMNoXkvn7gC3DqBNcwSsBvc12USmxyi2au++ekhcpgjLU?= =?utf-8?q?+ab7jZRUlml+qeF1F1HxypD2IMw6ynzoZDU6IBcT9KHf+WEHh8VATCMih/dyOWLLc?= =?utf-8?q?QE9QD84U5gKpUUaTcA9bRfLH5V+gpNeSBe2/g/MDrJwUVCTYVtDYJLF7FHk0epRSS?= =?utf-8?q?a0CRKYycVW/1t7iKG1mSATSUt2GacFYPs0PgV2hmAWb/4Q3QEWzQwgmnCGwANx+qq?= =?utf-8?q?vlAHIJxZOk3UAF4FPx98HeFD6HrAJzEO/KTPuu26yht48UWgWq2+OChuripAqEptC?= =?utf-8?q?vkdUnvJbFfXukJ3VHFSTPO7jc06FAsA3shdj03eBbBie4KVIf2BG8INPiwNcIjRIm?= =?utf-8?q?aPRNFvw+IG2pmtWtVtkTJOJPiq4QWOSTquKQPPauIZLnOrzwgAEY5xopY0j3TMaXo?= =?utf-8?q?DwDfmJCqEiJYS+JixE1pPVyjnxmv7hO0/EtrlJWSS3tsjxjIz6q/lVRlpku7DxoBR?= =?utf-8?q?+XUDeYk5ThwjXSfVFnOOji3iw11V8bgyZe79ANUNszXHZC7QSQtgLlTgSqo/183OJ?= =?utf-8?q?oclIbfiDq4aMUEQxNI6tDGBqqmP+vHPUprONGdHUFTUX7Nf6u+MLlXgoAT92x/cyU?= =?utf-8?q?hzGM6LDbX1KTAKQXMek/vlxfnbIwBFmWwN68adR/SGGssv+6GlJoLPF3K5qi0z4h8?= =?utf-8?q?mmHosdst499YofOOH54As0wv2YdDlEtAF+I+dbP2qQo/E+uwzCDpWZ6iXn5Dqryg8?= =?utf-8?q?PTyMWvqnaGWtAk06Vok3uk6V6KGIMGoYrckI5OfURMF4Le0Vi4ym4KgMm3IdQoj6M?= =?utf-8?q?yLYtcb0aOaBvt/OBjFro63K/pvME7lxcGAgDFCa200611N4WiH05cyNtVZHxAjqmB?= =?utf-8?q?4ri3BWuH3WngGxddkm7ciH+sxxXbMd4nzdaRdBR2pTi6tZVJanTcBgxnzIZ7akrU6?= =?utf-8?q?AAJPKjVN4QpfxMx+8owtb9al8xr2OscQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 31270f59-6f9b-4634-bf2d-08d9fd3f783b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB4894.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2022 17:58:49.3315 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8YiupA5+C20mYecGyzK3ZwLc2W98zHv9ekVUuPoczwS9Miw0umE1BYDrmrsxxqkJZXws0j6BU9E1ZnjoAKr9nMEILIbvCtF6ezPQP+vTBdU/vyKIT7+ofGxbpEnrErnq X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2708 X-OriginatorOrg: intel.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Hellstr_m , michael.cheng@intel.com, Balasubramani Vivekanandan , wayne.boyer@intel.com, Jani Nikula , casey.g.bowman@intel.com, lucas.demarchi@intel.com, Chris Wilson , Tvrtko Ursulin , siva.mullati@intel.com, David Airlie , Rodrigo Vivi , Nirmoy Das Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" drm_memcpy_from_wc() performs fast copy from WC memory type using non-temporal instructions. Now there are two similar implementations of this function. One exists in drm_cache.c as drm_memcpy_from_wc() and another implementation in i915/i915_memcpy.c as i915_memcpy_from_wc(). drm_memcpy_from_wc() was the recent addition through the series https://patchwork.freedesktop.org/patch/436276/?series=90681&rev=6 The goal of this patch series is to change all users of i915_memcpy_from_wc() to drm_memcpy_from_wc() and a have common implementation in drm and eventually remove the copy from i915. Another benefit of using memcpy functions from drm is that drm_memcpy_from_wc() is available for non-x86 architectures. i915_memcpy_from_wc() is implemented only for x86 and prevents building i915 for ARM64. drm_memcpy_from_wc() does fast copy using non-temporal instructions for x86 and for other architectures makes use of memcpy() family of functions as fallback. Another major difference is unlike i915_memcpy_from_wc(), drm_memcpy_from_wc() will not fail if the passed address argument is not alignment to be used with non-temporal load instructions or if the platform lacks support for those instructions (non-temporal load instructions are provided through SSE4.1 instruction set extension). Instead drm_memcpy_from_wc() continues with fallback functions to complete the copy. This relieves the caller from checking the return value of i915_memcpy_from_wc() and explicitly using a fallback. Follow up series will be created to remove the memcpy_from_wc functions from i915 once the dependency is completely removed. v2: Fixed missing check to find if the address is from system memory or io memory and use the right initialization function to construct the iosys_map structure (Review feedback from Lucas) Cc: Jani Nikula Cc: Lucas De Marchi Cc: David Airlie Cc: Daniel Vetter Cc: Chris Wilson Cc: Thomas Hellstr_m Cc: Joonas Lahtinen Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: Nirmoy Das Balasubramani Vivekanandan (7): drm: Relax alignment constraint for destination address drm: Add drm_memcpy_from_wc() variant which accepts destination address drm/i915: use the memcpy_from_wc call from the drm drm/i915/guc: use the memcpy_from_wc call from the drm drm/i915/selftests: use the memcpy_from_wc call from the drm drm/i915/gt: Avoid direct dereferencing of io memory drm/i915: Avoid dereferencing io mapped memory drivers/gpu/drm/drm_cache.c | 98 +++++++++++++++++-- drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 +- drivers/gpu/drm/i915/gt/selftest_reset.c | 21 ++-- drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 15 ++- drivers/gpu/drm/i915/i915_gpu_error.c | 45 +++++---- .../drm/i915/selftests/intel_memory_region.c | 41 +++++--- include/drm/drm_cache.h | 3 + 7 files changed, 174 insertions(+), 55 deletions(-)