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
16 changes: 11 additions & 5 deletions debian.master/control.stub.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ Build-Depends:
automake <!stage1>,
bc <!stage1>,
bindgen:native [amd64 arm64 armhf ppc64el riscv64 s390x],
binutils-dev,
bison <!stage1>,
clang-19:native [amd64 arm64 armhf ppc64el riscv64 s390x],
clang:native [amd64 arm64 armhf ppc64el riscv64 s390x],
cpio,
curl <!stage1>,
debhelper-compat (= 10),
Expand All @@ -22,7 +23,10 @@ Build-Depends:
java-common <!stage1>,
kmod <!stage1>,
libaudit-dev <!stage1>,
libbpf-dev,
libbpf-tools,
libcap-dev <!stage1>,
libcapstone-dev,
libdebuginfod-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libdw-dev <!stage1>,
libelf-dev <!stage1>,
Expand All @@ -31,13 +35,15 @@ Build-Depends:
libnewt-dev <!stage1>,
libnuma-dev [amd64 arm64 ppc64el s390x] <!stage1>,
libpci-dev <!stage1>,
libperl-dev,
libssl-dev <!stage1>,
libstdc++-dev,
libstdc++-14-dev,
libtool <!stage1>,
libtraceevent-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libtracefs-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libudev-dev <!stage1>,
libunwind8-dev [amd64 arm64 armhf ppc64el] <!stage1>,
llvm-dev,
makedumpfile:native [amd64] <!stage1>,
openssl <!stage1>,
dwarves (>= 1.21) [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
Expand All @@ -47,9 +53,9 @@ Build-Depends:
libpython3-dev <!stage1> <cross>,
python3-setuptools,
rsync [!i386] <!stage1>,
rust-src:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rustc:native (>= 1.82) [amd64 arm64 armhf ppc64el riscv64 s390x],
rustfmt:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rust-1.82-src:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rustc-1.82:native (>= 1.82) [amd64 arm64 armhf ppc64el riscv64 s390x],
rustfmt-1.82:native [amd64 arm64 armhf ppc64el riscv64 s390x],
uuid-dev <!stage1>,
zstd <!stage1>,
Build-Depends-Indep:
Expand Down
19 changes: 12 additions & 7 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ Build-Depends:
automake <!stage1>,
bc <!stage1>,
bindgen:native [amd64 arm64 armhf ppc64el riscv64 s390x],
binutils-dev,
bison <!stage1>,
clang-19:native [amd64 arm64 armhf ppc64el riscv64 s390x],
clang:native [amd64 arm64 armhf ppc64el riscv64 s390x],
cpio,
curl <!stage1>,
debhelper-compat (= 10),
Expand All @@ -24,7 +25,10 @@ Build-Depends:
java-common <!stage1>,
kmod <!stage1>,
libaudit-dev <!stage1>,
libbpf-dev,
libbpf-tools,
libcap-dev <!stage1>,
libcapstone-dev,
libdebuginfod-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libdw-dev <!stage1>,
libelf-dev <!stage1>,
Expand All @@ -33,13 +37,15 @@ Build-Depends:
libnewt-dev <!stage1>,
libnuma-dev [amd64 arm64 ppc64el s390x] <!stage1>,
libpci-dev <!stage1>,
libperl-dev,
libssl-dev <!stage1>,
libstdc++-dev,
libstdc++-14-dev,
libtool <!stage1>,
libtraceevent-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libtracefs-dev [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
libudev-dev <!stage1>,
libunwind8-dev [amd64 arm64 armhf ppc64el] <!stage1>,
llvm-dev,
makedumpfile:native [amd64] <!stage1>,
openssl <!stage1>,
dwarves (>= 1.21) [amd64 arm64 armhf ppc64el s390x riscv64] <!stage1>,
Expand All @@ -49,9 +55,9 @@ Build-Depends:
libpython3-dev <!stage1> <cross>,
python3-setuptools,
rsync [!i386] <!stage1>,
rust-src:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rustc:native (>= 1.82) [amd64 arm64 armhf ppc64el riscv64 s390x],
rustfmt:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rust-1.82-src:native [amd64 arm64 armhf ppc64el riscv64 s390x],
rustc-1.82:native (>= 1.82) [amd64 arm64 armhf ppc64el riscv64 s390x],
rustfmt-1.82:native [amd64 arm64 armhf ppc64el riscv64 s390x],
uuid-dev <!stage1>,
zstd <!stage1>,
Build-Depends-Indep:
Expand Down Expand Up @@ -199,7 +205,7 @@ Architecture: all
Multi-Arch: foreign
Section: kernel
Priority: optional
Provides:
Provides:
linux-cpupower,
Recommends:
bpftool (>= 7.6.0+6.14.0-8~),
Expand Down Expand Up @@ -715,4 +721,3 @@ Description: Linux kernel vision modules for version 6.16.3-76061603
one of the linux-modules-vision-generic-64k* meta-packages,
which will ensure that upgrades work correctly, and that supporting packages are
also installed.

4 changes: 2 additions & 2 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ endif

# Being used to build a mainline build -- turn off things which do not work.
ifeq ($(do_mainline_build),true)
do_tools=false
no_dumpfile=1
# do_tools=false
# no_dumpfile=1
$(foreach _m,$(all_dkms_modules),$(eval do_$(_m) = false))
do_skip_checks=true
do_sources_list = false
Expand Down
19 changes: 4 additions & 15 deletions drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,13 +149,13 @@ static int psp_v11_0_wait_for_bootloader(struct psp_context *psp)
int ret;
int retry_loop;

for (retry_loop = 0; retry_loop < 10; retry_loop++) {
for (retry_loop = 0; retry_loop < 20; retry_loop++) {
/* Wait for bootloader to signify that is
ready having bit 31 of C2PMSG_35 set to 1 */
ret = psp_wait_for(psp,
SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_35),
0x80000000,
0x80000000,
0x8000FFFF,
false);

if (ret == 0)
Expand Down Expand Up @@ -399,18 +399,6 @@ static int psp_v11_0_mode1_reset(struct psp_context *psp)

msleep(500);

offset = SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_33);

ret = psp_wait_for(psp, offset, MBOX_TOS_RESP_FLAG, MBOX_TOS_RESP_MASK,
false);

if (ret) {
DRM_INFO("psp mode 1 reset failed!\n");
return -EINVAL;
}

DRM_INFO("psp mode1 reset succeed \n");

return 0;
}

Expand Down Expand Up @@ -666,7 +654,8 @@ static const struct psp_funcs psp_v11_0_funcs = {
.ring_get_wptr = psp_v11_0_ring_get_wptr,
.ring_set_wptr = psp_v11_0_ring_set_wptr,
.load_usbc_pd_fw = psp_v11_0_load_usbc_pd_fw,
.read_usbc_pd_fw = psp_v11_0_read_usbc_pd_fw
.read_usbc_pd_fw = psp_v11_0_read_usbc_pd_fw,
.wait_for_bootloader = psp_v11_0_wait_for_bootloader
};

void psp_v11_0_set_psp_funcs(struct psp_context *psp)
Expand Down
5 changes: 5 additions & 0 deletions drivers/gpu/drm/i915/display/intel_dp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1436,6 +1436,11 @@ intel_dp_mode_valid(struct drm_connector *_connector,
if (mode->clock < 10000)
return MODE_CLOCK_LOW;

if (intel_has_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK) &&
intel_dp_is_edp(intel_dp) &&
drm_mode_vrefresh(mode) > 240)
return MODE_BAD;

fixed_mode = intel_panel_fixed_mode(connector, mode);
if (intel_dp_is_edp(intel_dp) && fixed_mode) {
status = intel_panel_mode_valid(connector, mode);
Expand Down
37 changes: 37 additions & 0 deletions drivers/gpu/drm/i915/display/intel_quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,12 @@ static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
drm_info(display->drm, "Applying no pps backlight power quirk\n");
}

static void quirk_edp_max_240hz_hook(struct intel_display *display)
{
intel_set_quirk(display, QUIRK_EDP_MAX_240HZ_HOOK);
drm_info(display->drm, "Applying max 240Hz quirk\n");
}

static void quirk_fw_sync_len(struct intel_dp *intel_dp)
{
struct intel_display *display = to_intel_display(intel_dp);
Expand Down Expand Up @@ -120,6 +126,12 @@ static int intel_dmi_no_pps_backlight(const struct dmi_system_id *id)
return 1;
}

static int intel_dmi_edp_max_240hz(const struct dmi_system_id *id)
{
DRM_INFO("Restrict output refreshrate to maximum 240Hz %s\n", id->ident);
return 1;
}

static const struct intel_dmi_quirk intel_dmi_quirks[] = {
{
.dmi_id_list = &(const struct dmi_system_id[]) {
Expand Down Expand Up @@ -166,6 +178,31 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
},
.hook = quirk_no_pps_backlight_power_hook,
},
{
.dmi_id_list = &(const struct dmi_system_id[]) {
{
.callback = intel_dmi_edp_max_240hz,
.ident = "TUXEDO Stellaris 16 Intel Gen7",
.matches = {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY"),
},
},
{
.callback = intel_dmi_edp_max_240hz,
.ident = "TUXEDO Stellaris 16 Intel Gen7",
.matches = {DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
},
},
{
.callback = intel_dmi_edp_max_240hz,
.ident = "System76 Serval WS",
.matches = {DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "System76"),
DMI_EXACT_MATCH(DMI_BOARD_VERSION, "serw14"),
},
},
{ }
},
.hook = quirk_edp_max_240hz_hook,
},
};

static struct intel_quirk intel_quirks[] = {
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/i915/display/intel_quirks.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ enum intel_quirk_id {
QUIRK_LVDS_SSC_DISABLE,
QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
QUIRK_FW_SYNC_LEN,
QUIRK_EDP_MAX_240HZ_HOOK,
};

void intel_init_quirks(struct intel_display *display);
Expand Down
17 changes: 13 additions & 4 deletions net/ipv4/route.c
Original file line number Diff line number Diff line change
Expand Up @@ -2573,19 +2573,24 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
!netif_is_l3_master(dev_out))
return ERR_PTR(-EINVAL);

if (ipv4_is_lbcast(fl4->daddr))
if (ipv4_is_lbcast(fl4->daddr)) {
type = RTN_BROADCAST;
else if (ipv4_is_multicast(fl4->daddr))

/* reset fi to prevent gateway resolution */
fi = NULL;
} else if (ipv4_is_multicast(fl4->daddr)) {
type = RTN_MULTICAST;
else if (ipv4_is_zeronet(fl4->daddr))
} else if (ipv4_is_zeronet(fl4->daddr)) {
return ERR_PTR(-EINVAL);
}

if (dev_out->flags & IFF_LOOPBACK)
flags |= RTCF_LOCAL;

do_cache = true;
if (type == RTN_BROADCAST) {
flags |= RTCF_BROADCAST | RTCF_LOCAL;
fi = NULL;
} else if (type == RTN_MULTICAST) {
flags |= RTCF_MULTICAST | RTCF_LOCAL;
if (!ip_check_mc_rcu(in_dev, fl4->daddr, fl4->saddr,
Expand Down Expand Up @@ -2655,8 +2660,12 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
rth->dst.output = ip_mc_output;
RT_CACHE_STAT_INC(out_slow_mc);
}
if (type == RTN_BROADCAST) {
/* ensure MTU value for broadcast routes is retained */
ip_dst_init_metrics(&rth->dst, res->fi->fib_metrics);
}
#ifdef CONFIG_IP_MROUTE
if (type == RTN_MULTICAST) {
else if (type == RTN_MULTICAST) {
if (IN_DEV_MFORWARD(in_dev) &&
!ipv4_is_local_multicast(fl4->daddr)) {
rth->dst.input = ip_mr_input;
Expand Down