Skip to content

Commit

Permalink
Auto update to lts2023-ubuntu v6.6.36-240704T140504Z
Browse files Browse the repository at this point in the history
Source of patches:
beee4863d rebase update to v6.6.36
Signed-off-by: sys_oak <[email protected]>
  • Loading branch information
sys-oak committed Jul 4, 2024
1 parent 18e75ac commit ccbaae8
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 23 deletions.
2 changes: 1 addition & 1 deletion config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

KVERSION=6
KPATCHLEVEL=6
KSUBLEVEL=35
KSUBLEVEL=36
KEXTRAVERSION=
KRTV=

Expand Down
68 changes: 48 additions & 20 deletions kernel-patches/patches/0004-add-ipu-driver-for-kernel-6.6.camera
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]> */
-
Expand All @@ -33416,6 +33416,8 @@ Index: b/drivers/media/pci/intel/ipu-bridge.c
-#include <media/ipu-bridge.h>
-#include <media/v4l2-fwnode.h>
-
-#define ADEV_DEV(adev) ACPI_PTR(&((adev)->dev))
-
-/*
- * 92335fcf-3203-4472-af93-7b4453ac29da
- *
Expand Down Expand Up @@ -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.
Expand All @@ -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)
Expand All @@ -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)
-{
Expand Down Expand Up @@ -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;
- }
-
Expand All @@ -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;
- }
Expand All @@ -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;
Expand All @@ -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;
- }
-
Expand All @@ -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;
- }
Expand All @@ -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;
- }
-
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions kernel-patches/patches/series
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit ccbaae8

Please sign in to comment.