From ccbaae84cffe0492e84db368445462a98bd0e991 Mon Sep 17 00:00:00 2001 From: sys_oak Date: Thu, 4 Jul 2024 08:58:52 -0700 Subject: [PATCH] Auto update to lts2023-ubuntu v6.6.36-240704T140504Z Source of patches: beee4863d rebase update to v6.6.36 Signed-off-by: sys_oak --- config.sh | 2 +- .../0004-add-ipu-driver-for-kernel-6.6.camera | 68 +++++++++++++------ kernel-patches/patches/series | 4 +- 3 files changed, 51 insertions(+), 23 deletions(-) diff --git a/config.sh b/config.sh index 79e92ab2f..5b5c09584 100755 --- a/config.sh +++ b/config.sh @@ -3,7 +3,7 @@ KVERSION=6 KPATCHLEVEL=6 -KSUBLEVEL=35 +KSUBLEVEL=36 KEXTRAVERSION= KRTV= diff --git a/kernel-patches/patches/0004-add-ipu-driver-for-kernel-6.6.camera b/kernel-patches/patches/0004-add-ipu-driver-for-kernel-6.6.camera index 3afa1a584..e00dff346 100644 --- a/kernel-patches/patches/0004-add-ipu-driver-for-kernel-6.6.camera +++ b/kernel-patches/patches/0004-add-ipu-driver-for-kernel-6.6.camera @@ -33399,7 +33399,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c =================================================================== --- a/drivers/media/pci/intel/ipu-bridge.c +++ /dev/null -@@ -1,816 +0,0 @@ +@@ -1,844 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* Author: Dan Scally */ - @@ -33416,6 +33416,8 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c -#include -#include - +-#define ADEV_DEV(adev) ACPI_PTR(&((adev)->dev)) +- -/* - * 92335fcf-3203-4472-af93-7b4453ac29da - * @@ -33486,6 +33488,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - "lc898212axb", -}; - +-#if IS_ENABLED(CONFIG_ACPI) -/* - * Used to figure out IVSC acpi device by ipu_bridge_get_ivsc_acpi_dev() - * instead of device and driver match to probe IVSC device. @@ -33499,13 +33502,13 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - -static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev) -{ -- acpi_handle handle = acpi_device_handle(adev); -- struct acpi_device *consumer, *ivsc_adev; - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(ivsc_acpi_ids); i++) { - const struct acpi_device_id *acpi_id = &ivsc_acpi_ids[i]; +- struct acpi_device *consumer, *ivsc_adev; - +- acpi_handle handle = acpi_device_handle(adev); - for_each_acpi_dev_match(ivsc_adev, acpi_id->id, NULL, -1) - /* camera sensor depends on IVSC in DSDT if exist */ - for_each_acpi_consumer_dev(ivsc_adev, consumer) @@ -33517,6 +33520,12 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - - return NULL; -} +-#else +-static struct acpi_device *ipu_bridge_get_ivsc_acpi_dev(struct acpi_device *adev) +-{ +- return NULL; +-} +-#endif - -static int ipu_bridge_match_ivsc_dev(struct device *dev, const void *adev) -{ @@ -33562,7 +33571,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - csi_dev = ipu_bridge_get_ivsc_csi_dev(adev); - if (!csi_dev) { - acpi_dev_put(adev); -- dev_err(&adev->dev, "Failed to find MEI CSI dev\n"); +- dev_err(ADEV_DEV(adev), "Failed to find MEI CSI dev\n"); - return -ENODEV; - } - @@ -33581,24 +33590,25 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - acpi_status status; - int ret = 0; - -- status = acpi_evaluate_object(adev->handle, id, NULL, &buffer); +- status = acpi_evaluate_object(ACPI_PTR(adev->handle), +- id, NULL, &buffer); - if (ACPI_FAILURE(status)) - return -ENODEV; - - obj = buffer.pointer; - if (!obj) { -- dev_err(&adev->dev, "Couldn't locate ACPI buffer\n"); +- dev_err(ADEV_DEV(adev), "Couldn't locate ACPI buffer\n"); - return -ENODEV; - } - - if (obj->type != ACPI_TYPE_BUFFER) { -- dev_err(&adev->dev, "Not an ACPI buffer\n"); +- dev_err(ADEV_DEV(adev), "Not an ACPI buffer\n"); - ret = -ENODEV; - goto out_free_buff; - } - - if (obj->buffer.length > size) { -- dev_err(&adev->dev, "Given buffer is too small\n"); +- dev_err(ADEV_DEV(adev), "Given buffer is too small\n"); - ret = -EINVAL; - goto out_free_buff; - } @@ -33619,7 +33629,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - case IPU_SENSOR_ROTATION_INVERTED: - return 180; - default: -- dev_warn(&adev->dev, +- dev_warn(ADEV_DEV(adev), - "Unknown rotation %d. Assume 0 degree rotation\n", - ssdb->degree); - return 0; @@ -33629,12 +33639,14 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c -static enum v4l2_fwnode_orientation ipu_bridge_parse_orientation(struct acpi_device *adev) -{ - enum v4l2_fwnode_orientation orientation; -- struct acpi_pld_info *pld; -- acpi_status status; +- struct acpi_pld_info *pld = NULL; +- acpi_status status = AE_ERROR; - +-#if IS_ENABLED(CONFIG_ACPI) - status = acpi_get_physical_device_location(adev->handle, &pld); +-#endif - if (ACPI_FAILURE(status)) { -- dev_warn(&adev->dev, "_PLD call failed, using default orientation\n"); +- dev_warn(ADEV_DEV(adev), "_PLD call failed, using default orientation\n"); - return V4L2_FWNODE_ORIENTATION_EXTERNAL; - } - @@ -33652,7 +33664,8 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - orientation = V4L2_FWNODE_ORIENTATION_EXTERNAL; - break; - default: -- dev_warn(&adev->dev, "Unknown _PLD panel val %d\n", pld->panel); +- dev_warn(ADEV_DEV(adev), "Unknown _PLD panel val %d\n", +- pld->panel); - orientation = V4L2_FWNODE_ORIENTATION_EXTERNAL; - break; - } @@ -33671,12 +33684,12 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - return ret; - - if (ssdb.vcmtype > ARRAY_SIZE(ipu_vcm_types)) { -- dev_warn(&adev->dev, "Unknown VCM type %d\n", ssdb.vcmtype); +- dev_warn(ADEV_DEV(adev), "Unknown VCM type %d\n", ssdb.vcmtype); - ssdb.vcmtype = 0; - } - - if (ssdb.lanes > IPU_MAX_LANES) { -- dev_err(&adev->dev, "Number of lanes in SSDB is invalid\n"); +- dev_err(ADEV_DEV(adev), "Number of lanes in SSDB is invalid\n"); - return -EINVAL; - } - @@ -33864,8 +33877,14 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - sensor->ipu_properties); - - if (sensor->csi_dev) { +- const char *device_hid = ""; +- +-#if IS_ENABLED(CONFIG_ACPI) +- device_hid = acpi_device_hid(sensor->ivsc_adev); +-#endif +- - snprintf(sensor->ivsc_name, sizeof(sensor->ivsc_name), "%s-%u", -- acpi_device_hid(sensor->ivsc_adev), sensor->link); +- device_hid, sensor->link); - - nodes[SWNODE_IVSC_HID] = NODE_SENSOR(sensor->ivsc_name, - sensor->ivsc_properties); @@ -34030,11 +34049,15 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c -{ - struct fwnode_handle *fwnode, *primary; - struct ipu_sensor *sensor; -- struct acpi_device *adev; +- struct acpi_device *adev = NULL; - int ret; - +-#if IS_ENABLED(CONFIG_ACPI) - for_each_acpi_dev_match(adev, cfg->hid, NULL, -1) { -- if (!adev->status.enabled) +-#else +- while (true) { +-#endif +- if (!ACPI_PTR(adev->status.enabled)) - continue; - - if (bridge->n_sensors >= IPU_MAX_PORTS) { @@ -34070,7 +34093,7 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - goto err_free_swnodes; - } - -- sensor->adev = acpi_dev_get(adev); +- sensor->adev = ACPI_PTR(acpi_dev_get(adev)); - - primary = acpi_fwnode_handle(adev); - primary->secondary = fwnode; @@ -34126,11 +34149,16 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(ipu_supported_sensors); i++) { +-#if IS_ENABLED(CONFIG_ACPI) - const struct ipu_sensor_config *cfg = - &ipu_supported_sensors[i]; - - for_each_acpi_dev_match(sensor_adev, cfg->hid, NULL, -1) { -- if (!sensor_adev->status.enabled) +-#else +- while (true) { +- sensor_adev = NULL; +-#endif +- if (!ACPI_PTR(sensor_adev->status.enabled)) - continue; - - adev = ipu_bridge_get_ivsc_acpi_dev(sensor_adev); diff --git a/kernel-patches/patches/series b/kernel-patches/patches/series index 308c0c887..836dd4524 100644 --- a/kernel-patches/patches/series +++ b/kernel-patches/patches/series @@ -1,5 +1,5 @@ -# Series file for v6.6.35 linux kernel -# 5f2d0708acd0 Linux 6.6.35 +# Series file for v6.6.36 linux kernel +# 61945f2f69d0 Linux 6.6.36 #security 0001-Add-security.md-file.security #tgpio