Skip to content
This repository was archived by the owner on Apr 9, 2025. It is now read-only.
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
3 changes: 2 additions & 1 deletion drivers/gpu/drm/i915/i915_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -1203,7 +1203,8 @@ void i915_driver_shutdown(struct drm_i915_private *i915)
intel_suspend_encoders(i915);
intel_shutdown_encoders(i915);

intel_dmc_ucode_suspend(i915);
if (HAS_DISPLAY(i915))
intel_dmc_ucode_suspend(i915);

i915_gem_suspend(i915);

Expand Down
2 changes: 1 addition & 1 deletion drivers/input/touchscreen/ef1e_tp/ef1e_tp.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

#include "ef1e_tp_protocol.h"

#define EF1E_TP_VERSION "2024081801"
#define EF1E_TP_VERSION "2024062101"

#define TP_WIDTH 2880
#define TP_HEIGHT 1620
Expand Down
24 changes: 14 additions & 10 deletions drivers/input/touchscreen/ef1e_tp/ef1e_tp_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -578,23 +578,15 @@ static int ef1e_tp_probe(struct platform_device *dev)
i2c_bus_number = fpd_dp_ser_get_i2c_bus_number();
i2c_adap = i2c_get_adapter(i2c_bus_number);
if (!i2c_adap) {
pr_err("cannot find a valid i2c bus for tp\n");
pr_err("%s: cannot find a valid i2c bus for tp\n", __func__);
ret = -ENODEV;
goto error;
}
priv->i2c_adap = i2c_adap;

priv->init_wq = create_workqueue("ef1e_tp-init-wq");
if (IS_ERR_OR_NULL(priv->init_wq)) {
dev_err(&dev->dev, "failed to create init wq\n");
ret = -ENOMEM;
goto error;
}
queue_work(priv->init_wq, &priv->init_work);

ret = tp_input_dev_init(priv);
if (ret < 0) {
pr_err("Failed to initialize input device\n");
pr_err("%s: failed to initialize input device\n", __func__);
goto error;
}

Expand All @@ -605,11 +597,23 @@ static int ef1e_tp_probe(struct platform_device *dev)
if (ret < 0)
goto error;

priv->init_wq = alloc_workqueue("ef1e_tp-init-wq", WQ_HIGHPRI, 0);
if (IS_ERR_OR_NULL(priv->init_wq)) {
dev_err(&dev->dev, "failed to create init wq\n");
ret = -ENOMEM;
goto error;
}
queue_work(priv->init_wq, &priv->init_work);

pr_info("%s(): done\n", __func__);
return 0;

error:
if (!IS_ERR_OR_NULL(priv->init_wq))
destroy_workqueue(priv->init_wq);

tp_input_dev_destroy(priv);

if (priv->polling) {
if (priv->polling_kthread)
kthread_stop(priv->polling_kthread);
Expand Down
21 changes: 6 additions & 15 deletions drivers/usb/dwc3/gadget.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
#define DWC3_ALIGN_FRAME(d, n) (((d)->frame_number + ((d)->interval * (n))) \
& ~((d)->interval - 1))

#define FORCE_HIGH_SPEED

/**
* dwc3_gadget_set_test_mode - enables usb2 test modes
* @dwc: pointer to our context structure
Expand Down Expand Up @@ -2413,14 +2411,6 @@ static void __dwc3_gadget_set_speed(struct dwc3 *dwc)
enum usb_device_speed speed;
u32 reg;

#ifdef FORCE_HIGH_SPEED
/*
* Forcing to High speed as platform dont have mechanism
* to detect disconnect and this will put device LPM mode
* which result in slow detection on connect.
*/
speed = USB_SPEED_HIGH;
#else
speed = dwc->gadget_max_speed;
if (speed == USB_SPEED_UNKNOWN || speed > dwc->maximum_speed)
speed = dwc->maximum_speed;
Expand All @@ -2430,10 +2420,15 @@ static void __dwc3_gadget_set_speed(struct dwc3 *dwc)
__dwc3_gadget_set_ssp_rate(dwc);
return;
}
#endif

reg = dwc3_readl(dwc->regs, DWC3_DCFG);
reg &= ~(DWC3_DCFG_SPEED_MASK);
/*
* Forcing to High speed as platform dont have mechanism
* to detect disconnect and this will put device LPM mode
* which result in slow detection on connect.
*/
speed = DWC3_DCFG_HIGHSPEED;
/*
* WORKAROUND: DWC3 revision < 2.20a have an issue
* which would cause metastability state on Run/Stop
Expand All @@ -2451,9 +2446,6 @@ static void __dwc3_gadget_set_speed(struct dwc3 *dwc)
!dwc->dis_metastability_quirk) {
reg |= DWC3_DCFG_SUPERSPEED;
} else {
#ifdef FORCE_HIGH_SPEED
reg |= DWC3_DCFG_HIGHSPEED;
#else
switch (speed) {
case USB_SPEED_FULL:
reg |= DWC3_DCFG_FULLSPEED;
Expand All @@ -2478,7 +2470,6 @@ static void __dwc3_gadget_set_speed(struct dwc3 *dwc)
else
reg |= DWC3_DCFG_SUPERSPEED_PLUS;
}
#endif
}
if (DWC3_IP_IS(DWC32) &&
speed > USB_SPEED_UNKNOWN &&
Expand Down