From nobody Tue Oct 7 07:01:37 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90C91275875; Sat, 12 Jul 2025 19:13:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347634; cv=none; b=Xz1XcRT5WIoPMKVUmlSU838omeAc49TGO7OVIE5HWo9naxcRPQnftNBT9OJh8F8/rNLOa6iwmpE7MZODZZMfEOtu4fKLAKQcKh7+1KWh0WOW54LI6rpPbtbRXY5Wc/gIqz5MhwrfWlok0p2I9pjYr895n+8fnoSd+W9B2OK0q/E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347634; c=relaxed/simple; bh=gVkFMLfDZNAcblb5dwn0J3mL9GjMWVi400R+BI3nj1o=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IOZK8WRej5dcb6xF2h0lQt2O6nFcE+VDEfvmf1XkJkYPsl3KgL51qnxWfmtRzTQfTnz+dEoTLu9DXZPQofUH+1fOF2c6gJLOjKwhLHhMA1Y3nVpRzL+lwJ2GhFmUDMHrVuwlrY5OpsOqmpVoQB33wBuXk+tYvDmpL0+S3e8Q/fg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=B5EWwh63; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="B5EWwh63" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3a4e749d7b2so421357f8f.0; Sat, 12 Jul 2025 12:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752347631; x=1752952431; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1WgcUUdQRBquLpdf5eq5AqmAdjxeq8xvK3pQY9lcVSM=; b=B5EWwh63yuTQoC7l0Fsli29CgbnHS/hkV+uIE6bfTQ54O7xuI/J5umJ2nG/g4RBChc 6Ez+r+N6bGxe5ecuXX4lK1ikq1T8ZRLfFGexFmhHh+265jzmWaxh0Xl4xIwF62CP3obi F6DJjqr0ZCMXcsm+11IqXHa5/vkr0BC2PWl3P34u334D6OYYQVp/4R77Rf76sgkJgJHQ pWvttQSLvgyyEUPjisdccTzr34bVXVySYpvQZN0gc2NR9YQjAfnkn2P97NYvDjwC2++q ezySJVBtA4FP8vx4fwEXL8bExWEUkbd79TQBVxo8D6a9VJwkvs0tePz5KHc143Z3LhO3 UEww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752347631; x=1752952431; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1WgcUUdQRBquLpdf5eq5AqmAdjxeq8xvK3pQY9lcVSM=; b=WhSadh7peV30JvTzP5hSFw1GOSFqj7Vl7FEI7kXhSfPK+P6HKCutfkgauhyMbmNJJT 5VWje/mYr6EUsDBej/Y1fCjvsTosB/NchYBUvm2gN59tJOf6eE73Qc5bFTEhDSWacI0W Idiz/bw44xiUT1WHx2L3OWHiyXyQgPJYkuml5am8Lpz9Ic/kdPpGJmSagKtKKmlJBy4X xf+PbWveKR+QSzHghWqdX0b/05vXpk6k2HaBtKv4NrsouJBHgKrAo+jv4+2RH4Y/CUOM ruYnb1JKP4mU9HuDcNMS5mCARdJnmfbfTOsC0Qv2bTuGWa7J/asOor8XOWf5EH21dU15 Z5AQ== X-Forwarded-Encrypted: i=1; AJvYcCVYPU1GQIVPW7Sz4D16ciE/zVS5d7r4x3dfB/K0tI631Tso5Qkqqw3Izd3JAIgDoW+GneK9kupCY1vpSQ0=@vger.kernel.org X-Gm-Message-State: AOJu0YzOa5yNRblC5BQskrncEGtIDWAgYDVUa4zOep8aZDjEfG0RcuzA sPW5cTN4zPbU3TatrEK3/1KzljJy5zJZT0QsQ18hvAl0d0ubUdfdjNMl+zp94w== X-Gm-Gg: ASbGncu/UfmMm/9x8PGVC3CRvtb6uP94yWy03vmswgfCaMuOXhwqridKjPV2Fg7shBA nVLYqLcuA/u3XhODbmSWgew2BHrreVl2B6UUaYX6kL/U0I1C1oumNWU3dh5hPI2EzzB37coMAem oJXV0L6JducGGqrdQ1BUXwP7gKx77uoDy2jBQdysiCo2wDzI7lX/mrceaQCItikxf2oA9wQ3zi+ UBr5L2zPzaP7ulfX9TKO+2G1H9Y4sNw8Rk+zEbR4lBpuZ7k/vehW8k5VRYkHSp4d9rwKTehbUf5 NZ4ADD9VXQfBXFtwukJcfx+P4wRIiUwmFu8Xlgs+u3Vs+8zwO3jA4MP2Sk9uaZSC15yWykF7TSP yRoJeDn+qFq1YDfraPRPuGWt3POUGkTj/3TyOKq1PS40pGqKuLNUMh/XdqA== X-Google-Smtp-Source: AGHT+IEiXGKJd934lZQw1ynm98/xMBFQxAUGyeTUudLL41WEikCMOr9VQ1P1QDGRYsdZvXZZHfjwkg== X-Received: by 2002:a05:6000:2502:b0:3a4:dd00:9ac3 with SMTP id ffacd0b85a97d-3b5f2e3e6a3mr2219628f8f.12.1752347630394; Sat, 12 Jul 2025 12:13:50 -0700 (PDT) Received: from localhost.localdomain ([102.42.96.153]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26ff9sm7947939f8f.93.2025.07.12.12.13.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Jul 2025 12:13:50 -0700 (PDT) From: Abdelrahman Fekry To: hansg@kernel.org, mchehab@kernel.org, sakari.ailus@linux.intel.com, andy@kernel.org, gregkh@linuxfoundation.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel-mentees@lists.linux.dev, skhan@linuxfoundation.org, dan.carpenter@linaro.org, Abdelrahman Fekry Subject: [PATCH 1/3] staging: media: atomisp: return early on hmm_bo_device_init() failure Date: Sat, 12 Jul 2025 22:13:23 +0300 Message-Id: <20250712191325.132666-2-abdelrahmanfekry375@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> References: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" hmm_init() would continue execution even if hmm_bo_device_init() failed, potentially leading to bad behaviour when calling hmm_alloc(). - returns the error immediately if hmm_bo_device_init() fails. Signed-off-by: Abdelrahman Fekry Reviewed-by: Dan Carpenter Suggested-by: Hans de Goede --- drivers/staging/media/atomisp/pci/hmm/hmm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/= media/atomisp/pci/hmm/hmm.c index f998b57f90c4..97c7ce970aef 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -34,8 +34,10 @@ int hmm_init(void) =20 ret =3D hmm_bo_device_init(&bo_device, &sh_mmu_mrfld, ISP_VM_START, ISP_VM_SIZE); - if (ret) + if (ret) { dev_err(atomisp_dev, "hmm_bo_device_init failed.\n"); + return ret; + } =20 hmm_initialized =3D true; =20 @@ -48,7 +50,7 @@ int hmm_init(void) */ dummy_ptr =3D hmm_alloc(1); =20 - return ret; + return 0; } =20 void hmm_cleanup(void) --=20 2.25.1 From nobody Tue Oct 7 07:01:37 2025 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC3B128DB78; Sat, 12 Jul 2025 19:13:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347636; cv=none; b=AfhfKFfRN2NpFA+HhfpBelfqXLAihzVypivPZjbBbU9lZNGGSBmATjf0SsDX4ZQazqvb0NxEHWBXJ4co8CJMBAjoZmIUO9fvfkYw9pO5JAAX/+xOPoY7IGLGvKGjlA2vmUaV9/083ihCS0FqNzG987ev1UAuNZU0dy4EFXB9SWQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347636; c=relaxed/simple; bh=OTZbWuBUP0apZL41jRuXYeU7ZawKrlOCNUiC4UM4KSI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jzHXw0uTgKoquhlxcs2zszmIXJLwWiGr7JNv1GUa+FekNavw2IRrwjiikk2jB4GWkJtiL31QW9St7LA5+o2yPNVBc1SxiUC9TuJqenLxyd6TT/ZtgwxBgZVlcm3l2uzeSs6gJYhSzfqMIF9kJhu9ZOgIPvVk0ak7YXeVVz+gVVM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ls2NM+yo; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ls2NM+yo" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3a577f164c8so312246f8f.2; Sat, 12 Jul 2025 12:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752347633; x=1752952433; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=a0pvYq16cvHI4govEM6VgKCqJMNYGnXFAARo3AapR7A=; b=ls2NM+yoPuneqGEDLgHckBCyE5WOvg1p/05HIpm0aqtTSpiHSWbZgOHhMxVb9eTdTe 1Kvtoehk/XEGx+3fY2dXyUJw4ufJPZar1eFkUdACmd1ekwWPTKpA0biZ+LfSv6rmDM1T m78OHvxeSmKqFkdH/OF/REs0lzlzuYCpKzJoXlRJvMWnvlL9ZruvTveluk54xGsXXI+n EooI/tQoLftXSp1mTF5Tnfdsbyavdn9G7k/hiLlOnyf3SNDFLetmhZsVksJJjUvEvm5p y2ZMl3YMLy6gYQ9FA6aI1XWNmR/OFq1mkZz++gvtkwJ8/hvJqww4g0xrfR53neaQV2Zi 3Jdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752347633; x=1752952433; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=a0pvYq16cvHI4govEM6VgKCqJMNYGnXFAARo3AapR7A=; b=ctmGQheJ2NIw5i1fAw3fjV6m6myuoieCv/ukb8YPJWoonwELBZVvxZD9LZOUYrQvf5 ke2NMHJfTS+CwKjKoA4Y22vnzAJszh+VebumsqWmIDdz96fSjjhf+nP6jn+CcGcptNzT gGVbWH73kIwob+6QdvHmaWQ3CXUFflEyCWrlnrt/GDBMZusETdUs+Q8Jqn+KKENjuaTI I1Wk60gecbKemJjxfthEoxQN+aiVf41qTv6ZmYroL+tGpZdNIovyvfRPACiPjEL0OHmt Zskl6UiC5cRz4e2R2fTOlix8R7cxlq5xV5Mmulj6p0/l/1vNfCUielOLa0pBQPYTKO/O Wx8w== X-Forwarded-Encrypted: i=1; AJvYcCUTAjros2EreK8gYr3anOlnauC6G7IZO9g+p4EWkqBhDjOoT6qbLIRuDaaQdro97NoQeVfeQPEWGik9MCM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+Ef4Dvgl9gP4Vh3dvbHN7bjvWOHnwQNhVY8MMQWV9Yq98+tti UWlfNuzVKpgA8EsJTzFtQ9Qky8Bmdw++tGc5Ugfz4J7wYbQnkJSFyE6y X-Gm-Gg: ASbGncsJLpfQfRbM8vmZ+yHlPt/2NWiYNoFo9ijONuYW2P2YSKS7lTxXNxX24KxhNWL sTUFU1HCFibq9MaGevFEKk2DWjr9BSY1SipMqTZ3gRReh5gC7fpkq/vz2K1ut602EEV7fCEgw7G d2p6CHAScBUcd68hpiGLdfsmjtazqb53sjzgBbYB8GTi3D63HD+r5HcqroRUnwgHfUIhziXR0Ju yFFJkjwKecByolqCe0NRIcOHzKw6rlFROXe4MrKVLaIuWOk2te79VQi+9s2QxA5cb+sismE5VVD VWfLrRr4RdPyyQJUXJqrtCJNOlYtkqqowITsM/u+y48ZocC7o0vvYm1M44uEXsrRzTFcSqPpXsj T69w8a3EOkdK7aJsctECdeOwsrk6jPjyZRGZUoqkNl+GdNe8Por+I9N8Ojw== X-Google-Smtp-Source: AGHT+IF4xHdrbMof8MSup6DPX1MvMV0SmDtV4pn1bO4gAJpdVgg+02aR+oiNNd7QW5WZw915Yrod9Q== X-Received: by 2002:a05:6000:2f84:b0:3a4:f7ea:a638 with SMTP id ffacd0b85a97d-3b5f2db436cmr1967373f8f.3.1752347632831; Sat, 12 Jul 2025 12:13:52 -0700 (PDT) Received: from localhost.localdomain ([102.42.96.153]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26ff9sm7947939f8f.93.2025.07.12.12.13.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Jul 2025 12:13:52 -0700 (PDT) From: Abdelrahman Fekry To: hansg@kernel.org, mchehab@kernel.org, sakari.ailus@linux.intel.com, andy@kernel.org, gregkh@linuxfoundation.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel-mentees@lists.linux.dev, skhan@linuxfoundation.org, dan.carpenter@linaro.org, Abdelrahman Fekry Subject: [PATCH 2/3] staging: media: atomisp: unify HMM initialization tracking Date: Sat, 12 Jul 2025 22:13:24 +0300 Message-Id: <20250712191325.132666-3-abdelrahmanfekry375@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> References: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The HMM subsystem previously used two separate mechanisms to track initialization state: 1. A global boolean `hmm_initialized` in hmm.c 2. A device-specific `flag` in struct hmm_bo_device with magic values This dual approach was redundant and error-prone. Additionally, a redundant hmm_init() call existed in the allocation path. - Replaces the device-specific `flag` with a boolean `initialized` field - Removes the global `hmm_initialized` variable - Eliminates the hmm_bo_device_inited() helper function - Removes the redundant hmm_init() call from __hmm_alloc() Signed-off-by: Abdelrahman Fekry Reviewed-by: Dan Carpenter Suggested-by: Hans de Goede --- .../staging/media/atomisp/include/hmm/hmm_bo.h | 11 +++-------- drivers/staging/media/atomisp/pci/hmm/hmm.c | 11 ----------- drivers/staging/media/atomisp/pci/hmm/hmm_bo.c | 17 ++++++----------- 3 files changed, 9 insertions(+), 30 deletions(-) diff --git a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h b/drivers/s= taging/media/atomisp/include/hmm/hmm_bo.h index e09ac29ac43d..ac556c1d71bb 100644 --- a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h +++ b/drivers/staging/media/atomisp/include/hmm/hmm_bo.h @@ -58,8 +58,6 @@ #define ISP_VM_SIZE (0x7FFFFFFF) /* 2G address space */ #define ISP_PTR_NULL NULL =20 -#define HMM_BO_DEVICE_INITED 0x1 - enum hmm_bo_type { HMM_BO_PRIVATE, HMM_BO_VMALLOC, @@ -86,7 +84,9 @@ struct hmm_bo_device { =20 /* list lock is used to protect the entire_bo_list */ spinlock_t list_lock; - int flag; + + /* boolean to indicate whether the bo device is inited or not*/ + bool initialized; =20 /* linked list for entire buffer object */ struct list_head entire_bo_list; @@ -142,11 +142,6 @@ int hmm_bo_device_init(struct hmm_bo_device *bdev, */ void hmm_bo_device_exit(struct hmm_bo_device *bdev); =20 -/* - * whether the bo device is inited or not. - */ -int hmm_bo_device_inited(struct hmm_bo_device *bdev); - /* * increase buffer object reference. */ diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/= media/atomisp/pci/hmm/hmm.c index 97c7ce970aef..8d64e5fd812c 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -26,7 +26,6 @@ =20 struct hmm_bo_device bo_device; static ia_css_ptr dummy_ptr =3D mmgr_EXCEPTION; -static bool hmm_initialized; =20 int hmm_init(void) { @@ -39,8 +38,6 @@ int hmm_init(void) return ret; } =20 - hmm_initialized =3D true; - /* * As hmm use NULL to indicate invalid ISP virtual address, * and ISP_VM_START is defined to 0 too, so we allocate @@ -63,7 +60,6 @@ void hmm_cleanup(void) dummy_ptr =3D 0; =20 hmm_bo_device_exit(&bo_device); - hmm_initialized =3D false; } =20 static ia_css_ptr __hmm_alloc(size_t bytes, enum hmm_bo_type type, @@ -73,13 +69,6 @@ static ia_css_ptr __hmm_alloc(size_t bytes, enum hmm_bo_= type type, struct hmm_buffer_object *bo; int ret; =20 - /* - * Check if we are initialized. In the ideal world we wouldn't need - * this but we can tackle it once the driver is a lot cleaner - */ - - if (!hmm_initialized) - hmm_init(); /* Get page number from size */ pgnr =3D size_to_pgnr_ceil(bytes); =20 diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c b/drivers/stagi= ng/media/atomisp/pci/hmm/hmm_bo.c index 5d0cd5260d3a..aabb2a126caa 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c @@ -373,7 +373,7 @@ int hmm_bo_device_init(struct hmm_bo_device *bdev, =20 __bo_insert_to_free_rbtree(&bdev->free_rbtree, bo); =20 - bdev->flag =3D HMM_BO_DEVICE_INITED; + bdev->initialized =3D true; =20 return 0; } @@ -385,9 +385,10 @@ struct hmm_buffer_object *hmm_bo_alloc(struct hmm_bo_d= evice *bdev, struct rb_root *root =3D &bdev->free_rbtree; =20 check_bodev_null_return(bdev, NULL); - var_equal_return(hmm_bo_device_inited(bdev), 0, NULL, - "hmm_bo_device not inited yet.\n"); - + if (!bdev->initialized) { + dev_err(atomisp_dev, "hmm_bo_device is not initialized!\n"); + return NULL; + } if (pgnr =3D=3D 0) { dev_err(atomisp_dev, "0 size buffer is not allowed.\n"); return NULL; @@ -522,13 +523,7 @@ void hmm_bo_device_exit(struct hmm_bo_device *bdev) kmem_cache_destroy(bdev->bo_cache); =20 isp_mmu_exit(&bdev->mmu); -} - -int hmm_bo_device_inited(struct hmm_bo_device *bdev) -{ - check_bodev_null_return(bdev, -EINVAL); - - return bdev->flag =3D=3D HMM_BO_DEVICE_INITED; + bdev->initialized =3D false; } =20 int hmm_bo_allocated(struct hmm_buffer_object *bo) --=20 2.25.1 From nobody Tue Oct 7 07:01:37 2025 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB2C128EA62; Sat, 12 Jul 2025 19:13:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347639; cv=none; b=seKN68F2sCevLBlBjwV4P2ubb08257kWDFm74DfbB05DaskTyXiksPwmBi2Q4TgAwR5MJW9D9lBQ7LSlwHahKNUJZ4SFZPl8/EDha/YOLim9tOZ9mU+RuRDCTHDsVAv5dzguf/F2nLPlJZx9mvRYZEaWg6CbBV8uMWVNwig6D1w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752347639; c=relaxed/simple; bh=eIGX6hfIjI3Ap8U+0nUV7eri5iFkpqTQ9XPJWOYk7E8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=C5GP5FHpxtnNUlihgi9CUNt40lF0Ex9bB1SRX1LTbdy3STkyKp9INUcyqtUWdtuRwmmG30gbmQ6tWz2d4b4A9Yo+wLE3oZYH7KncYcU11sD0Pt4e4ek48ScpMPo/y3s4ehRc/oy9rF49chkPesBTMDZo3jtn9vQgo1dXqTKo/TE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=drV0JbTS; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="drV0JbTS" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-456133b8d47so25995e9.2; Sat, 12 Jul 2025 12:13:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752347636; x=1752952436; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YU+STJheJ2cRenZESzxe2umi5oxN08RJOdFFWhNYDDU=; b=drV0JbTSsHYhZXUcRxxIdzeiYLYug8kea6lY2M1F2BHYBivAWhsdF1Mh9JeOMy80PF Z1s+wAwOCcd6xbmyhiigf6yrg8+l9TC9sKtPfnan/yT1WgDh9CseKIL6pTOlhly4Y04t VA2pgbmrC5OrE7k3i/UN6ueWmys2StzudpHf+mBw0tUIkgL/KVxX0L0NayDJ4aC2fMPs t7pVeT6sCjS5ynq65mLTQquJJN4F7hQjaEUz80/Lw/+bWBms9toX/83E9ckMyMmc/Nml Wwzqrm+dsXFSe8xPt+MxO5c/Go4I9YhD9mn3kWYN9oGOvC7Pjbbm++/pzAwDu3X/A/YO uq3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752347636; x=1752952436; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YU+STJheJ2cRenZESzxe2umi5oxN08RJOdFFWhNYDDU=; b=Si61avDEoiuijopXrhO/tVUYfNQnxWv59q0VdShbw6oo7vaEJKB/Uk11RlQWosVLLS nLmOMK+UQFnBISbO6y/tIEIsdDFZjdh5R45Rww5tC35LUAFGCRlTmJ71Zm3spYUl0j3F ZD3SKRP8rtgPn5deV/d69auzpRcifuCcjCEvwRIZ+zyn2/ijB5qWRHk3hMtZ9pOgp5fe 6/SkzF1CInI5ROUdrcHPypLFwGKrkcrQB71JoU3QK4JbWNX02hHoHJSMJWLToUBH7nMi BvzJoq8nUiyR/JwhQrx3AyxxdLzQJaTSGE8aKZbR2ACB5qhsZktQjCzDiREKMB2lvmQ9 0nCw== X-Forwarded-Encrypted: i=1; AJvYcCUn60ZcACzoOxBoEF01+YWnvPF3YPRA+hpLwQ9NaJu44FbPBq1CVUGs6mHxAvcUQHDl8JofhCXnnkQs+3g=@vger.kernel.org X-Gm-Message-State: AOJu0YyKpWlDwHdT54mKQUkc/jb5gUn02RWC9HWwRo6sl4N91XMq8pcp nVf8idpaxsA5CgATVjsUX12lTIvB/ilLq97HjtdZzuBBWQZ3zXWnMi3q X-Gm-Gg: ASbGnctSRfDkQefWWt8+35yo+zMrGwfZ5vP3yRFDWxWgFexCtX3nD6tWbADgWvvefeo KlcfP3mXY/yNCsL/iDFa88fz2+HhZ0uvTY8Jkvqapsuj1FtHMBkzAhbdFKSQCZO3xUfJeyGt6rO hMafsDQzChA9OnIL45XEpFo/IA6NgbHqMIhmolLF1ATVRmAhJBZww9lGttuXF69kuV5YYOgvMel pEQIHVGritFHsigCk+9e0bZXDEwg1KcFYnFjH7x4hta3J4HKthdqDflBgLY4z0sAXmE0WKYdILb onkdLXyqw/pWokcuLPulj6lnn1RX/9R0eYtwxfslwtkqg1LT8JoCo3Ojxmo2IViPKkQTHqzAQjl qKmBBAP2IY1NXShGsixfVK3UGRmvnd8BxFiZ1I1LLLT5iSJ0DjEsTBr84JA== X-Google-Smtp-Source: AGHT+IECUvBi1C3fpaJkeu378YHO/wUV8hQgmJwaGFvLP5vaqOMKI5NAjpaj+pRBjjSsm8+4eTD1lg== X-Received: by 2002:a05:6000:228a:b0:3a4:f7d9:9617 with SMTP id ffacd0b85a97d-3b5f2d5f16amr2112016f8f.0.1752347635853; Sat, 12 Jul 2025 12:13:55 -0700 (PDT) Received: from localhost.localdomain ([102.42.96.153]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26ff9sm7947939f8f.93.2025.07.12.12.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Jul 2025 12:13:55 -0700 (PDT) From: Abdelrahman Fekry To: hansg@kernel.org, mchehab@kernel.org, sakari.ailus@linux.intel.com, andy@kernel.org, gregkh@linuxfoundation.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel-mentees@lists.linux.dev, skhan@linuxfoundation.org, dan.carpenter@linaro.org, Abdelrahman Fekry Subject: [PATCH 3/3] staging: media: atomisp: move hmm_get_mmu_base_addr() Date: Sat, 12 Jul 2025 22:13:25 +0300 Message-Id: <20250712191325.132666-4-abdelrahmanfekry375@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> References: <20250712191325.132666-1-abdelrahmanfekry375@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The function hmm_get_mmu_base_addr() is related to the functionality of hmm so its better to be declared and defined in this scope. - Move hmm_get_mmu_base_addr() to hmm.c. - Change hmm_bo_device struct to be static. Signed-off-by: Abdelrahman Fekry Reviewed-by: Dan Carpenter Suggested-by: Hans de Goede --- drivers/staging/media/atomisp/include/hmm/hmm.h | 4 +--- .../media/atomisp/pci/atomisp_compat_css20.c | 12 ------------ drivers/staging/media/atomisp/pci/hmm/hmm.c | 14 +++++++++++++- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/drivers/staging/media/atomisp/include/hmm/hmm.h b/drivers/stag= ing/media/atomisp/include/hmm/hmm.h index a7aef27f54de..da85d835ec10 100644 --- a/drivers/staging/media/atomisp/include/hmm/hmm.h +++ b/drivers/staging/media/atomisp/include/hmm/hmm.h @@ -33,7 +33,7 @@ int hmm_load(ia_css_ptr virt, void *data, unsigned int by= tes); int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes); int hmm_set(ia_css_ptr virt, int c, unsigned int bytes); int hmm_flush(ia_css_ptr virt, unsigned int bytes); - +int hmm_get_mmu_base_addr(struct device *dev, unsigned int *mmu_base_addr); /* * get kernel memory physical address from ISP virtual address. */ @@ -65,6 +65,4 @@ void hmm_flush_vmap(ia_css_ptr virt); */ int hmm_mmap(struct vm_area_struct *vma, ia_css_ptr virt); =20 -extern struct hmm_bo_device bo_device; - #endif diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/dri= vers/staging/media/atomisp/pci/atomisp_compat_css20.c index be5f37f4a6fd..b4913cb32a64 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c @@ -157,18 +157,6 @@ void atomisp_load_uint32(hrt_address addr, uint32_t *d= ata) *data =3D atomisp_css2_hw_load_32(addr); } =20 -static int hmm_get_mmu_base_addr(struct device *dev, unsigned int *mmu_bas= e_addr) -{ - if (!sh_mmu_mrfld.get_pd_base) { - dev_err(dev, "get mmu base address failed.\n"); - return -EINVAL; - } - - *mmu_base_addr =3D sh_mmu_mrfld.get_pd_base(&bo_device.mmu, - bo_device.mmu.base_address); - return 0; -} - static void __dump_pipe_config(struct atomisp_sub_device *asd, struct atomisp_stream_env *stream_env, unsigned int pipe_id) diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/= media/atomisp/pci/hmm/hmm.c index 8d64e5fd812c..321166e58bb5 100644 --- a/drivers/staging/media/atomisp/pci/hmm/hmm.c +++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c @@ -24,7 +24,7 @@ #include "mmu/isp_mmu.h" #include "mmu/sh_mmu_mrfld.h" =20 -struct hmm_bo_device bo_device; +static struct hmm_bo_device bo_device; static ia_css_ptr dummy_ptr =3D mmgr_EXCEPTION; =20 int hmm_init(void) @@ -488,3 +488,15 @@ void hmm_vunmap(ia_css_ptr virt) =20 hmm_bo_vunmap(bo); } + +int hmm_get_mmu_base_addr(struct device *dev, unsigned int *mmu_base_addr) +{ + if (!sh_mmu_mrfld.get_pd_base) { + dev_err(dev, "get mmu base address failed.\n"); + return -EINVAL; + } + + *mmu_base_addr =3D sh_mmu_mrfld.get_pd_base(&bo_device.mmu, + bo_device.mmu.base_address); + return 0; +} --=20 2.25.1