Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 6 additions & 14 deletions dkms.conf
Original file line number Diff line number Diff line change
Expand Up @@ -65,27 +65,19 @@ if ! version_lt ${KERNEL_VERSION} ${KV_I2C_MAX9X_ISX031}; then
BUILT_MODULE_LOCATION[6]="drivers/media/i2c"
DEST_MODULE_LOCATION[6]="/updates"

BUILT_MODULE_NAME[7]="max9295"
BUILT_MODULE_NAME[7]="max9x"
BUILT_MODULE_LOCATION[7]="drivers/media/i2c/max9x"
DEST_MODULE_LOCATION[7]="/updates"

BUILT_MODULE_NAME[8]="max9296"
BUILT_MODULE_LOCATION[8]="drivers/media/i2c/max9x"
BUILT_MODULE_NAME[8]="ipu6-acpi"
BUILT_MODULE_LOCATION[8]="drivers/media/platform/intel/"
DEST_MODULE_LOCATION[8]="/updates"

BUILT_MODULE_NAME[9]="serdes"
BUILT_MODULE_LOCATION[9]="drivers/media/i2c/max9x"
BUILT_MODULE_NAME[9]="ipu6-acpi-pdata"
BUILT_MODULE_LOCATION[9]="drivers/media/platform/intel/"
DEST_MODULE_LOCATION[9]="/updates"

BUILT_MODULE_NAME[10]="ipu6-acpi"
BUILT_MODULE_NAME[10]="ipu6-acpi-common"
BUILT_MODULE_LOCATION[10]="drivers/media/platform/intel/"
DEST_MODULE_LOCATION[10]="/updates"

BUILT_MODULE_NAME[11]="ipu6-acpi-pdata"
BUILT_MODULE_LOCATION[11]="drivers/media/platform/intel/"
DEST_MODULE_LOCATION[11]="/updates"

BUILT_MODULE_NAME[12]="ipu6-acpi-common"
BUILT_MODULE_LOCATION[12]="drivers/media/platform/intel/"
DEST_MODULE_LOCATION[12]="/updates"
fi
1 change: 1 addition & 0 deletions drivers/media/i2c/max9x/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ ifneq ($(filter y m, $(CONFIG_VIDEO_INTEL_IPU6)),)
ccflags-y += -I$(src)/../../pci/intel/ipu6/
endif

ccflags-y += -I$(src)/../../../../include/media
obj-m += max9x.o
max9x-y += serdes.o max9296.o max96724.o max9295.o max96717.o
2 changes: 1 addition & 1 deletion drivers/media/i2c/max9x/serdes.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#if IS_ENABLED(CONFIG_VIDEO_INTEL_IPU6)
#include "ipu6-isys.h"
#endif
#include <media/ipu-acpi-pdata.h>
#include "ipu-acpi-pdata.h"
#include "max9x_pdata.h"

#define MAX9X_VDD_REGULATOR_NAME "vdd"
Expand Down
5 changes: 5 additions & 0 deletions include/media/ipu-acpi-pdata.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,11 @@ struct serdes_platform_data {
unsigned int FPD_gpio;
char suffix;
unsigned int link_freq_mbps;
enum v4l2_mbus_type bus_type;
unsigned int deser_nlanes;
unsigned int ser_nlanes;
unsigned int des_port;
char ser_name[I2C_NAME_SIZE];
struct i2c_board_info *deser_board_info;
};

Expand All @@ -58,6 +61,8 @@ struct serdes_subdev_info {
unsigned short phy_i2c_addr;
unsigned short ser_alias;
char suffix[5]; /* suffix for subdevs */
unsigned short ser_phys_addr;
unsigned int sensor_dt;
};

struct serdes_module_pdata {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
From da41fbb54f5d8141ef93e2eaefb286c59fdca7db Mon Sep 17 00:00:00 2001
From: hepengpx <pengpengx.he@intel.com>
Date: Fri, 25 Apr 2025 09:44:01 +0800
From 9be3f6b342f17152516e3e0f226e669df83bd7bd Mon Sep 17 00:00:00 2001
From: linya14x <linx.yang@intel.com>
Date: Mon, 13 Oct 2025 15:11:55 +0800
Subject: [PATCH] Support IPU6 PSYS FW trace dump for upstream driver

Signed-off-by: hepengpx <[email protected]>
---
drivers/media/pci/intel/ipu6/ipu6-trace.c | 6 +++
drivers/media/pci/intel/ipu6/ipu6-trace.h | 1 +
Expand Down Expand Up @@ -38,7 +36,7 @@ index f66d8898b1db..fe89d1b203b6 100644
+bool is_ipu_trace_enable(void);
#endif
diff --git a/drivers/media/pci/intel/ipu6/psys/ipu-psys.c b/drivers/media/pci/intel/ipu6/psys/ipu-psys.c
index 9f367496cbd0..e8638a918215 100644
index d3422ea20e51..be71ba4518ad 100644
--- a/drivers/media/pci/intel/ipu6/psys/ipu-psys.c
+++ b/drivers/media/pci/intel/ipu6/psys/ipu-psys.c
@@ -31,6 +31,7 @@
Expand All @@ -49,7 +47,7 @@ index 9f367496cbd0..e8638a918215 100644

static bool async_fw_init;
module_param(async_fw_init, bool, 0664);
@@ -1201,6 +1202,8 @@ static int ipu_psys_sched_cmd(void *ptr)
@@ -1179,6 +1180,8 @@ static int ipu_psys_sched_cmd(void *ptr)
return 0;
}

Expand All @@ -58,7 +56,7 @@ index 9f367496cbd0..e8638a918215 100644
static void start_sp(struct ipu6_bus_device *adev)
{
struct ipu_psys *psys = ipu6_bus_get_drvdata(adev);
@@ -1211,7 +1214,7 @@ static void start_sp(struct ipu6_bus_device *adev)
@@ -1189,7 +1192,7 @@ static void start_sp(struct ipu6_bus_device *adev)
val |= IPU6_PSYS_SPC_STATUS_START |
IPU6_PSYS_SPC_STATUS_RUN |
IPU6_PSYS_SPC_STATUS_CTRL_ICACHE_INVALIDATE;
Expand All @@ -67,7 +65,7 @@ index 9f367496cbd0..e8638a918215 100644
IPU6_PSYS_SPC_STATUS_ICACHE_PREFETCH : 0;
writel(val, spc_regs_base + IPU6_PSYS_REG_SPC_STATUS_CTRL);
}
@@ -1304,6 +1307,40 @@ static void run_fw_init_work(struct work_struct *work)
@@ -1282,6 +1285,40 @@ static void run_fw_init_work(struct work_struct *work)
}
}

Expand Down Expand Up @@ -108,7 +106,7 @@ index 9f367496cbd0..e8638a918215 100644
static int ipu6_psys_probe(struct auxiliary_device *auxdev,
const struct auxiliary_device_id *auxdev_id)
{
@@ -1442,6 +1479,9 @@ static int ipu6_psys_probe(struct auxiliary_device *auxdev,
@@ -1432,6 +1469,9 @@ static int ipu6_psys_probe(struct auxiliary_device *auxdev,
strscpy(psys->caps.dev_model, IPU6_MEDIA_DEV_MODEL_NAME,
sizeof(psys->caps.dev_model));

Expand All @@ -118,15 +116,15 @@ index 9f367496cbd0..e8638a918215 100644
mutex_unlock(&ipu_psys_mutex);

dev_info(dev, "psys probe minor: %d\n", minor);
@@ -1503,6 +1543,8 @@ static void ipu6_psys_remove(struct auxiliary_device *auxdev)

@@ -1500,6 +1540,8 @@ static void ipu6_psys_remove(struct auxiliary_device *auxdev)
clear_bit(MINOR(psys->cdev.dev), ipu_psys_devices);
cdev_del(&psys->cdev);

+ ipu_trace_uninit(&auxdev->dev);
+
mutex_unlock(&ipu_psys_mutex);

mutex_destroy(&psys->mutex);
--
2.34.1
2.43.0

Loading