Skip to content

Commit 6d6d81a

Browse files
author
Jiri Kosina
committed
Merge branch 'for-6.10/amd-sfh' into for-linus
- PM fix and assorted other code cleanups for amd-sfh (Basavaraj Natikar)
2 parents 6baa452 + 7902ec9 commit 6d6d81a

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

drivers/hid/amd-sfh-hid/amd_sfh_pcie.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,14 +333,11 @@ static const struct dmi_system_id dmi_nodevs[] = {
333333
static void sfh1_1_init_work(struct work_struct *work)
334334
{
335335
struct amd_mp2_dev *mp2 = container_of(work, struct amd_mp2_dev, work);
336-
struct pci_dev *pdev = mp2->pdev;
337336
int rc;
338337

339338
rc = mp2->sfh1_1_ops->init(mp2);
340-
if (rc) {
341-
dev_err(&pdev->dev, "sfh1_1_init failed err %d\n", rc);
339+
if (rc)
342340
return;
343-
}
344341

345342
amd_sfh_clear_intr(mp2);
346343
mp2->init_done = 1;

drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ static int amd_sfh1_1_hid_client_init(struct amd_mp2_dev *privdata)
202202
}
203203

204204
if (!cl_data->is_any_sensor_enabled) {
205-
dev_warn(dev, "Failed to discover, sensors not enabled is %d\n",
205+
dev_warn(dev, "No sensor registered, sensors not enabled is %d\n",
206206
cl_data->is_any_sensor_enabled);
207207
rc = -EOPNOTSUPP;
208208
goto cleanup;
@@ -227,6 +227,11 @@ static void amd_sfh_resume(struct amd_mp2_dev *mp2)
227227
struct amd_mp2_sensor_info info;
228228
int i, status;
229229

230+
if (!cl_data->is_any_sensor_enabled) {
231+
amd_sfh_clear_intr(mp2);
232+
return;
233+
}
234+
230235
for (i = 0; i < cl_data->num_hid_devices; i++) {
231236
if (cl_data->sensor_sts[i] == SENSOR_DISABLED) {
232237
info.sensor_idx = cl_data->sensor_idx[i];
@@ -252,6 +257,11 @@ static void amd_sfh_suspend(struct amd_mp2_dev *mp2)
252257
struct amdtp_cl_data *cl_data = mp2->cl_data;
253258
int i, status;
254259

260+
if (!cl_data->is_any_sensor_enabled) {
261+
amd_sfh_clear_intr(mp2);
262+
return;
263+
}
264+
255265
for (i = 0; i < cl_data->num_hid_devices; i++) {
256266
if (cl_data->sensor_idx[i] != HPD_IDX &&
257267
cl_data->sensor_sts[i] == SENSOR_ENABLED) {
@@ -320,7 +330,7 @@ int amd_sfh1_1_init(struct amd_mp2_dev *mp2)
320330

321331
memcpy_fromio(&binfo, mp2->vsbase, sizeof(struct sfh_base_info));
322332
if (binfo.sbase.fw_info.fw_ver == 0 || binfo.sbase.s_list.sl.sensors == 0) {
323-
dev_dbg(dev, "failed to get sensors\n");
333+
dev_dbg(dev, "No sensor registered\n");
324334
return -EOPNOTSUPP;
325335
}
326336
dev_dbg(dev, "firmware version 0x%x\n", binfo.sbase.fw_info.fw_ver);
@@ -337,7 +347,8 @@ int amd_sfh1_1_init(struct amd_mp2_dev *mp2)
337347
rc = amd_sfh1_1_hid_client_init(mp2);
338348
if (rc) {
339349
sfh_deinit_emp2();
340-
dev_err(dev, "amd_sfh1_1_hid_client_init failed\n");
350+
if ((rc != -ENODEV) && (rc != -EOPNOTSUPP))
351+
dev_err(dev, "amd_sfh1_1_hid_client_init failed\n");
341352
return rc;
342353
}
343354

drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ static int amd_sfh_hpd_info(u8 *user_present)
9797
if (!emp2 || !emp2->dev_en.is_hpd_present)
9898
return -ENODEV;
9999

100-
hpdstatus.val = readl(emp2->mmio + AMD_C2P_MSG(4));
100+
hpdstatus.val = readl(emp2->mmio + amd_get_c2p_val(emp2, 4));
101101
*user_present = hpdstatus.shpd.presence;
102102

103103
return 0;

0 commit comments

Comments
 (0)