Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update cs35l41_hda_property.c #1

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3d19f5a
ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER
heftig Sep 16, 2019
9d57f65
drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is set
martinezjavier May 19, 2022
d9620fd
mm: Support soft dirty flag reset for VA range.
May 6, 2020
1eb9656
drm: panel-orientation-quirks: Add quirk for AYA NEO 2 model
Samsagax Jun 21, 2023
ce95863
drm: panel-orientation-quirks: Add quirk for AYA NEO Founder edition
Samsagax Jun 21, 2023
3b6d29c
drm: panel-orientation-quirks: Add quirk for AYA NEO GEEK
Samsagax Jun 21, 2023
2cc14fb
usb: Add hid_id and keys for ASUS ROG ALLY handheld
Samsagax Jul 12, 2023
3065c26
ALSA: hda: cs35l41: Support ASUS 2023 laptops with missing DSD
flukejones Aug 22, 2023
f4b10be
ROG ally bios check DSD override only for bios <330
BoukeHaarsma23 Oct 23, 2023
4358fb2
Ayaneo geek headset patch
BoukeHaarsma23 Sep 22, 2023
027dcff
ayaneo 2 headphone fix
BoukeHaarsma23 Sep 22, 2023
ac3f4d0
drm: Add GPU reset sysfs event
contactshashanksharma Mar 7, 2022
cb68909
drm/amdgpu: add work function for GPU reset event
contactshashanksharma Mar 7, 2022
7ecbc31
drm/amdgpu: schedule GPU reset event work function
Mar 10, 2022
e42b11d
USB: gadget: f_hid: Add Get-Feature report
endrift Jul 1, 2022
0521d98
USB: gadget: f_hid: Add Set-Feature report
endrift Jul 1, 2022
eb3cadc
HID: hid-steam: Update list of identifiers from SDL
endrift Nov 30, 2022
9eae2c2
HID: hid-steam: Add gamepad-only mode switched to by holding options
endrift Nov 17, 2022
7da7725
HID: hid-steam: Clean up locking
endrift May 9, 2023
3bc24b7
HID: hid-steam: Make client_opened a counter
endrift May 11, 2023
31c08d2
HID: hid-steam: Better handling of serial number length
endrift May 19, 2023
0d22816
drm: panel-orientation-quirks: Add quirk for Ayn Loki Zero
BoukeHaarsma23 Oct 7, 2023
c537101
drm: panel-orientation-quirks: Add quirk for Ayn Loki Max
BoukeHaarsma23 Oct 7, 2023
09cbb3d
linux v6.6.0-chos1-rc7
BoukeHaarsma23 Oct 23, 2023
53695d1
use previous configuration for bios <330
BoukeHaarsma23 Oct 24, 2023
c26ab45
linux v6.6.0-chos2-rc7
BoukeHaarsma23 Oct 24, 2023
7384adf
Update cs35l41_hda_property.c
jlobue10 Oct 25, 2023
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
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION = -rc7
EXTRAVERSION = -chos2-rc7
NAME = Hurr durr I'ma ninja sloth

# *DOCUMENTATION*
Expand Down
18 changes: 17 additions & 1 deletion drivers/firmware/sysfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,22 @@
#include <linux/screen_info.h>
#include <linux/sysfb.h>

static int skip_simpledrm;

static int __init simpledrm_disable(char *opt)
{
if (!opt)
return -EINVAL;

get_option(&opt, &skip_simpledrm);

if (skip_simpledrm)
pr_info("The simpledrm driver will not be probed\n");

return 0;
}
early_param("nvidia-drm.modeset", simpledrm_disable);

static struct platform_device *pd;
static DEFINE_MUTEX(disable_lock);
static bool disabled;
Expand Down Expand Up @@ -85,7 +101,7 @@ static __init int sysfb_init(void)

/* try to create a simple-framebuffer device */
compatible = sysfb_parse_mode(si, &mode);
if (compatible) {
if (compatible && !skip_simpledrm) {
pd = sysfb_create_simplefb(si, &mode);
if (!IS_ERR(pd))
goto unlock_mutex;
Expand Down
3 changes: 3 additions & 0 deletions drivers/gpu/drm/amd/amdgpu/amdgpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
#include <drm/amdgpu_drm.h>
#include <drm/drm_gem.h>
#include <drm/drm_ioctl.h>
#include <drm/drm_sysfs.h>

#include <kgd_kfd_interface.h>
#include "dm_pp_interface.h"
Expand Down Expand Up @@ -1017,6 +1018,7 @@ struct amdgpu_device {

int asic_reset_res;
struct work_struct xgmi_reset_work;
struct work_struct gpu_reset_event_work;
struct list_head reset_list;

long gfx_timeout;
Expand Down Expand Up @@ -1051,6 +1053,7 @@ struct amdgpu_device {
bool barrier_has_auto_waitcnt;

struct amdgpu_reset_control *reset_cntl;
struct drm_reset_event reset_event_info;
uint32_t ip_versions[MAX_HWIP][HWIP_MAX_INSTANCE];

bool ram_is_direct_mapped;
Expand Down
27 changes: 27 additions & 0 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
#include <linux/pm_runtime.h>

#include <drm/drm_drv.h>
#include <drm/drm_sysfs.h>

#if IS_ENABLED(CONFIG_X86)
#include <asm/intel-family.h>
Expand Down Expand Up @@ -3332,6 +3333,17 @@ bool amdgpu_device_has_dc_support(struct amdgpu_device *adev)
return amdgpu_device_asic_has_dc_support(adev->asic_type);
}

static void amdgpu_device_reset_event_func(struct work_struct *__work)
{
struct amdgpu_device *adev = container_of(__work, struct amdgpu_device,
gpu_reset_event_work);
/*
* A GPU reset has happened, inform the userspace and pass the
* reset related information.
*/
drm_sysfs_reset_event(&adev->ddev, &adev->reset_event_info);
}

static void amdgpu_device_xgmi_reset_func(struct work_struct *__work)
{
struct amdgpu_device *adev =
Expand Down Expand Up @@ -3603,6 +3615,7 @@ int amdgpu_device_init(struct amdgpu_device *adev,
amdgpu_device_delay_enable_gfx_off);

INIT_WORK(&adev->xgmi_reset_work, amdgpu_device_xgmi_reset_func);
INIT_WORK(&adev->gpu_reset_event_work, amdgpu_device_reset_event_func);

adev->gfx.gfx_off_req_count = 1;
adev->gfx.gfx_off_residency = 0;
Expand Down Expand Up @@ -4957,6 +4970,20 @@ int amdgpu_do_asic_reset(struct list_head *device_list_handle,
reset_context->job->vm->task_info;
amdgpu_reset_capture_coredumpm(tmp_adev);
#endif
if (reset_context->job && reset_context->job->vm) {
tmp_adev->reset_event_info.pid =
reset_context->job->vm->task_info.pid;
memset(tmp_adev->reset_event_info.pname, 0, TASK_COMM_LEN);
strcpy(tmp_adev->reset_event_info.pname,
reset_context->job->vm->task_info.process_name);
} else {
tmp_adev->reset_event_info.pid = 0;
memset(tmp_adev->reset_event_info.pname, 0, TASK_COMM_LEN);
}

tmp_adev->reset_event_info.flags = vram_lost;
schedule_work(&tmp_adev->gpu_reset_event_work);

if (vram_lost) {
DRM_INFO("VRAM is lost due to GPU reset!\n");
amdgpu_inc_vram_lost(tmp_adev);
Expand Down
30 changes: 30 additions & 0 deletions drivers/gpu/drm/drm_panel_orientation_quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,12 @@ static const struct dmi_system_id orientation_data[] = {
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "T103HAF"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
}, { /* AYA NEO AYANEO 2 */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYANEO 2"),
},
.driver_data = (void *)&lcd1200x1920_rightside_up,
}, { /* AYA NEO 2021 */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYADEVICE"),
Expand All @@ -190,12 +196,36 @@ static const struct dmi_system_id orientation_data[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "AIR"),
},
.driver_data = (void *)&lcd1080x1920_leftside_up,
}, { /* AYA NEO Founder */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYA NEO"),
DMI_MATCH(DMI_PRODUCT_NAME, "AYA NEO Founder"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
}, { /* AYA NEO GEEK */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"),
DMI_MATCH(DMI_PRODUCT_NAME, "GEEK"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
}, { /* AYA NEO NEXT */
.matches = {
DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
},
.driver_data = (void *)&lcd800x1280_rightside_up,
}, { /* AYN Loki Max */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ayn"),
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Loki Max"),
},
.driver_data = (void *)&lcd1080x1920_leftside_up,
}, { /* AYN Loki Zero */
.matches = {
DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ayn"),
DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Loki Zero"),
},
.driver_data = (void *)&lcd1080x1920_leftside_up,
}, { /* Chuwi HiBook (CWI514) */
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
Expand Down
31 changes: 31 additions & 0 deletions drivers/gpu/drm/drm_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,37 @@ void drm_sysfs_connector_hotplug_event(struct drm_connector *connector)
}
EXPORT_SYMBOL(drm_sysfs_connector_hotplug_event);

/**
* drm_sysfs_reset_event - generate a DRM uevent to indicate GPU reset
* @dev: DRM device
* @reset_info: The contextual information about the reset (like PID, flags)
*
* Send a uevent for the DRM device specified by @dev. This informs
* user that a GPU reset has occurred, so that an interested client
* can take any recovery or profiling measure.
*/
void drm_sysfs_reset_event(struct drm_device *dev, struct drm_reset_event *reset_info)
{
unsigned char pid_str[13];
unsigned char flags_str[15];
unsigned char pname_str[TASK_COMM_LEN + 6];
unsigned char reset_str[] = "RESET=1";
char *envp[] = { reset_str, pid_str, pname_str, flags_str, NULL };

if (!reset_info) {
DRM_WARN("No reset info, not sending the event\n");
return;
}

DRM_DEBUG("generating reset event\n");

snprintf(pid_str, ARRAY_SIZE(pid_str), "PID=%u", reset_info->pid);
snprintf(pname_str, ARRAY_SIZE(pname_str), "NAME=%s", reset_info->pname);
snprintf(flags_str, ARRAY_SIZE(flags_str), "FLAGS=%u", reset_info->flags);
kobject_uevent_env(&dev->primary->kdev->kobj, KOBJ_CHANGE, envp);
}
EXPORT_SYMBOL(drm_sysfs_reset_event);

/**
* drm_sysfs_connector_property_event - generate a DRM uevent for connector
* property change
Expand Down
9 changes: 8 additions & 1 deletion drivers/hid/hid-asus.c
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,10 @@ static int asus_input_mapping(struct hid_device *hdev,
case 0xb3: asus_map_key_clear(KEY_PROG3); break; /* Fn+Left next aura */
case 0x6a: asus_map_key_clear(KEY_F13); break; /* Screenpad toggle */
case 0x4b: asus_map_key_clear(KEY_F14); break; /* Arrows/Pg-Up/Dn toggle */
case 0xa5: asus_map_key_clear(KEY_F15); break; /* ROG Ally left back */
case 0xa6: asus_map_key_clear(KEY_F16); break; /* ROG Ally QAM button */
case 0xa7: asus_map_key_clear(KEY_F17); break; /* ROG Ally ROG long-press */
case 0xa8: asus_map_key_clear(KEY_F18); break; /* ROG Ally ROG long-press-release */


default:
Expand Down Expand Up @@ -1258,6 +1262,9 @@ static const struct hid_device_id asus_devices[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD3),
QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD),
QUIRK_ROG_CLAYMORE_II_KEYBOARD },
Expand Down Expand Up @@ -1300,4 +1307,4 @@ static struct hid_driver asus_driver = {
};
module_hid_driver(asus_driver);

MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");
1 change: 1 addition & 0 deletions drivers/hid/hid-ids.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD 0x1866
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2 0x19b6
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD3 0x1a30
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY 0x1abe
#define USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD 0x196b
#define USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD 0x1869

Expand Down
Loading