From patchwork Tue Sep 6 14:01:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Micha=C5=82_Winiarski?= X-Patchwork-Id: 12967551 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 8F39BECAAA1 for ; Tue, 6 Sep 2022 14:02:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 14FD710E691; Tue, 6 Sep 2022 14:02:38 +0000 (UTC) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 008DB10E691 for ; Tue, 6 Sep 2022 14:02: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=1662472951; x=1694008951; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=psUf+ThGOXymqI1/AsEMN8AgIksVidwn0U3Nks4tEJc=; b=d2fWNEFU92DB6cV4lcuzem4tmG+fjL8jOvdGR624cf9NtVR+UbbsdSXM 2lG55XyWG2Z2h+kHMn96268Imbp3mJpSPYgda/GSUqhnOAvKXb0qYN6Ec KjQBXRUjURGrSiuwqlbbAbXi3i4nZcJ7/xdWxq5iTTFpTm5nt672KcIiC k54gbYYY00rfM83Z9yYs6XDK1kRr2HLxG30nnsUP1CTe+b65b3wLCjHxZ 2rXpqCgezAk6FSZT1Eb8RUK+NTIuMBD3vSsQxXJrX1EgQtn4q+yIzfc2D TeZqdI1sBZqCgqrOZ6vQjqoc09vDJ9J7YAvOldaUtPm40Zdjmqfg+0NNd g==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="358314991" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="358314991" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 07:02:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="647238386" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga001.jf.intel.com with ESMTP; 06 Sep 2022 07:02:31 -0700 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.2375.31; Tue, 6 Sep 2022 07:02:30 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2375.31; Tue, 6 Sep 2022 07:02:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 07:02:09 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 07:02:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RJPWRTSvdj4NkSJZyqsONPoG2N3i4j+mN701An3PceOt0VcgNM/NDfRJ4Snp+XcQBVD/MKp+v9ixNg9thU3v4O42m/cHNS9PSb4AEEiUbiNKEklrZjBVHlwetLKDIb1DYGImSzSshyb0zO6KLUj1TVkFbD/lkhl34ENbS38+Rj38LTJ4BrykzO6JfbsUEe/eRcCDtG/dxLh4KSAwseril1pRaItsvvCiAoPjAn5opbCrbktL4o13HMtp4Df+Y6ZmBLOjSEwlikIyane5SCKYrGFLOJyP1SVjR0f+xNjWTSDaYlQADp2pXzfTB3/iMK08+JfrS65ePq1mmRtzkYZaYQ== 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=jeLDTqdI5/oFSGwFAeyojvyf/Ks/ONn12bXtmr825A0=; b=PwMn9beGmzicW7FW6RnlqYULCqYD/uADIvxF40uRF1sbMUJjVp1alGIPf6SdfFYFpYc4uEmcyOFzcFj+aSFwVAG22RDSsnLckMge5JhA0cH0kIsoWW4ZyvF0ChvJteckjBm7Z3U/cemTUs2+ZjocmL7EO/62FUzXNuUVnv9io3YKmLCAabtLf9cmOzniiU5DsO3xWx7jcm0TPdu3iRT/mdLScFJ2b+ti8G+vuHk3CNLDF2eWMlmEOGEuwcQW08/zO6AR5botNaHyk1O3/ohTUwh6LGwXLLMN3u9y9RwkdKHBMIayRrPbNEbI+cYEMwBsbqax2UGjhAji51KXB0dMYA== 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 DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) by BN7PR11MB2804.namprd11.prod.outlook.com (2603:10b6:406:ac::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.12; Tue, 6 Sep 2022 14:01:57 +0000 Received: from DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e]) by DM4PR11MB5373.namprd11.prod.outlook.com ([fe80::b04c:807c:4ea0:c62e%9]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 14:01:57 +0000 From: =?utf-8?q?Micha=C5=82_Winiarski?= To: , Subject: [PATCH v3 2/4] drm: Introduce skip_legacy_minors modparam Date: Tue, 6 Sep 2022 16:01:15 +0200 Message-ID: <20220906140117.409852-3-michal.winiarski@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220906140117.409852-1-michal.winiarski@intel.com> References: <20220906140117.409852-1-michal.winiarski@intel.com> X-ClientProxiedBy: FR3P281CA0061.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:4b::9) To DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e2084f58-b029-4d6c-7988-08da90105c96 X-MS-TrafficTypeDiagnostic: BN7PR11MB2804:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /WkEhu68+WocDBBdgjd5JeWm072A6Ax0IRlp3c4OtbQxY4/M4FUj47YhpzVXH4L30DwwDuecAGh7FKqH9TQ5WWf02HY/mIiX6EaL1sntXTeNZVHICPiQVIz+NTPDbh6OmrFEGhjwzlnrClcCUY8kob3lThouHVo+ijpL9dnUzIG6o3hr1PZwrWMn2wzH7ksiCQ7JynFJ9lNbMQ9HRLlsV67wkKrQdRPYOkpjuwAo+o1BJJVtPpVuhahvDDueBRxd+cjwkCorNV7QfK5maeppwrYXuquRSJf176Vkv93vLUj67EdBkAa8ie8qaEyKrPJUg+SFYSGIVZjkOdyDSGC9cZjM/jn2OYW02Seb9eeYfZ1qe8eWGj31Tum1v95PyVehFySiyI1XMB9JF2kGOZgQpaeBqO7RR5A3Xe65EM+blL1yBlVyiu4fCae4d9Ailtg/awRV24EyyfAiqrujC3P6c+xGTXfQgJV+H7aq7SIxhr3wAgH6K12QTods7pxEuyfcpIiXDCSQtwYEWHfEROmvv6lEEtV3Cp3ZN22ZYEpnoyK8TJKazBYIMjc1s5UTmr/l15roequhDeJNinyai1G0nsZoA+NPXWShV9FECdRnsa48ukoa8DQHelEAVqDHoCrVoQ1wbUhxMVj/2gcFxTUq3ZpxF1HY6gKyXTfSe11tXXOVVEzdVn9/puhrElrE/+WkCd7ffht2g+kYbnRUjNgejg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5373.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(39860400002)(376002)(346002)(366004)(136003)(8676002)(6486002)(66476007)(83380400001)(66946007)(66556008)(4326008)(478600001)(6506007)(6666004)(26005)(2906002)(6512007)(5660300002)(8936002)(186003)(1076003)(86362001)(2616005)(41300700001)(36756003)(316002)(82960400001)(38100700002)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?l0RVpUMeUIuj0GoWfQSp5eBFPQI+?= =?utf-8?q?3qvcwK6mqFXiEyqvjROjiocnc2dvmDbw6e9/LKUn0MSUJ1K2MvTTe/QoinjmnvNu7?= =?utf-8?q?vUACRjDYyaXMNbVRDVecDvPJIrCLeUkQHVfyOCW/3ePHQ2W4YqX8DztdTnoLbb86x?= =?utf-8?q?/Wb8uEsQhScoypUQ4T5U0zvyosUutMCR8274EdShbYBFjiP+WsjIN8HDcjwUvm48h?= =?utf-8?q?pYHl6rUm5xwm6E+bhAWMxLbKf1VqBI/I9KBtCYY0SiFqWPmKXG07Y9QQXeXhz7exe?= =?utf-8?q?Jc3GuqpmflY3wLc8lCcwneP/Dp/42xMcIzuI6aohrwTvJ1a9KkZeRlaYW4YwYELQP?= =?utf-8?q?i3Z20AVvQBNOftD6WOXiK8vZ4LrApbDYuhe/Vstt5Tox0B73UVoR7JM9titFm5p2E?= =?utf-8?q?jsCYVoisTwTCSUtxuPMhTfTUeZsVo1pSIStyVUVd70N9feVuFodSUjKNOqpbidpH8?= =?utf-8?q?ym2atdavy3OJCsX93f6sDpp2uteBiMKh3OFAPw5kziWC/ZysgYEVj/859FLsW/6VD?= =?utf-8?q?Wd0Sea0nQ2P8CRpcL5FfQmH4TYKECcJC8cdqT0030826sCGNf7VhjyEqUIJSX96qJ?= =?utf-8?q?DS3H2GdWIKVqJDaU/XkrI2mOKHcJ7lxd1WbDJ0ZcnkXEqeRq+UmtvKgygR9EQgdeK?= =?utf-8?q?ePtPIjKzNlvS/CKficjNMyXEEBrdhcUWn+8cl516jvZt84FLfo5dbiOQa9Y7v2Dcg?= =?utf-8?q?Pl8/uwpHMhqlpPbUOuXXi5XNEhEJTfvJdmhsrijhkkYLMUNUDLEkGMuYvsEI/tEyo?= =?utf-8?q?MkTi1EsNbuFP4OAt08BORg1bgxrkdhGjTe3TVBQo9wYO9UDY959A1fDeLVmct84O8?= =?utf-8?q?RTeSClF2b41X9l6I4pBaiB7wCP6ahQo6T/+VzsNh24kiWuZx1A98R/TkZssiLmkFc?= =?utf-8?q?V7vPKCUQofLUJaLzMIRVxK5YYMmlrBxuCQ7ko2ZcIRiWhFYnOw/9tSYsDAJSbP5Rw?= =?utf-8?q?ahLy+bygNxPthIQud+pbqSifrxsu843o3Th0UJCjhmj0L8j3yHsasRVMNII7NL89U?= =?utf-8?q?4iZeR/S60IzyKzfchFucAH/Ar6ltuw/Qnh8tQs/qVBWHXjDkG72S5d4y4Uzpx+5IP?= =?utf-8?q?SRLZbT/I+xeqapFzcZxGuRpUALHKSmUSk4KTu/G5G9rGtmsNd/3g7qd+RB83Szi5y?= =?utf-8?q?kqSvCuSIBrzaRfq3Cu75yzDqpywnI/E7mV+gkMqUSfPFcy7K2dqhOYLcV6O8Vr+ew?= =?utf-8?q?ZtezwL3lIi2vO6evm6NBqEugqHxRZy2BFoKwg1yQv0UWdCx8Oacin2DYXgB5wTo9Q?= =?utf-8?q?ys8UWcItyYitzgImwE+0WKsY/Rmvh4QVQNz9J/J42fyQ8bsAEM8UemK+X4hexBLZf?= =?utf-8?q?q60ZMoKBmF6oJdg4UouvyFEyRVCMFP8qFy0imF5+ggsIAGTCtHCWg/nO0vE0sVuNV?= =?utf-8?q?pRdgVLzBbGwKGo5B6YfchLcPcRrQmW2wAuoX0lL4yUOLtEgBDuqUFKBgSWF0jSrdo?= =?utf-8?q?2vtY/qMmrJEx+y8uUPkey1U4mNRKh75UVgKD91lW08rCg1u3R75e7unUSm8SpBevq?= =?utf-8?q?xWtnNweJZt7Z//28RfMhVHO4cAP3adc8wQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: e2084f58-b029-4d6c-7988-08da90105c96 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5373.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2022 14:01:57.4681 (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: 2rRQFCx0kJOb4EH1DTcRSoAURwpAtGrE2Ejmz9nPHBmtMa5MZ51d55+n/V3hF2QCE+U56oK89bL+x9iUn8B5bwClrM1J4Dsfwpu0UVACFw4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2804 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: =?utf-8?q?Micha=C5=82_Winiarski?= , David Airlie , Matthew Wilcox , Thomas Zimmermann Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" While there is support for >64 DRM devices on kernel side, existing userspace may still have some hardcoded assumptions and it's possible that it will require changes to be able to use more than 64 devices. Add a modparam to simplify testing and development of >64 devices support on userspace side by allocating minors from the >=192 range (without the need of having >64 physical devices connected). Signed-off-by: MichaƂ Winiarski --- drivers/gpu/drm/drm_drv.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index 9432b1619602..0bdcca0db611 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -56,6 +56,11 @@ MODULE_LICENSE("GPL and additional rights"); static DEFINE_SPINLOCK(drm_minor_lock); static struct idr drm_minors_idr; +static bool skip_legacy_minors; +module_param_unsafe(skip_legacy_minors, bool, 0400); +MODULE_PARM_DESC(skip_legacy_minors, + "Don't allocate minors in 0-192 range. This can be used for testing userspace support for >64 drm devices (default: false)"); + /* * If the drm core fails to init for whatever reason, * we should prevent any drivers from registering with it. @@ -113,7 +118,7 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) { struct drm_minor *minor; unsigned long flags; - int r; + int r = -ENOSPC; minor = drmm_kzalloc(dev, sizeof(*minor), GFP_KERNEL); if (!minor) @@ -130,11 +135,12 @@ static int drm_minor_alloc(struct drm_device *dev, unsigned int type) */ idr_preload(GFP_KERNEL); spin_lock_irqsave(&drm_minor_lock, flags); - r = idr_alloc(&drm_minors_idr, - NULL, - 64 * type, - 64 * (type + 1), - GFP_NOWAIT); + if (!skip_legacy_minors) + r = idr_alloc(&drm_minors_idr, + NULL, + 64 * type, + 64 * (type + 1), + GFP_NOWAIT); if (r == -ENOSPC) r = idr_alloc(&drm_minors_idr, NULL, 192, 1 << MINORBITS, GFP_NOWAIT); spin_unlock_irqrestore(&drm_minor_lock, flags);