From 9cc9bfe8f3a05c749f507b3fa6e2c68eea5277fe Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 3 Jul 2024 11:23:24 +0200 Subject: [PATCH] drop some 5.10 patches --- ...irmware-add-edp-and-integrated-info-.patch | 101 ---- ...irmware-add-intergrated-info-v2.3-ta.patch | 118 ---- ...config_drm_amd_dc_dcn3_01-from-atomf.patch | 44 -- ...ram-type-and-bandwidth-error-for-ddr.patch | 96 ---- ...e-atomfirmware-for-dcn3.1-phy-tuning.patch | 101 ---- ...e-new-memory-types-in-atomfirmware-h.patch | 38 -- ...pi-make-interrupt-remembering-atomic.patch | 23 +- ...dma-check-srq_type-during-create_srq.patch | 220 -------- ...-add-check-for-srq-max_sge-attribute.patch | 7 +- ...uverbs_cmd_mask-settings-to-the-core.patch | 455 ---------------- ...ents-in-uverbs_cmd_mask-that-all-dri.patch | 515 ------------------ queue-5.10/sched-unbreak-wakeups.patch | 149 ----- queue-5.10/series | 10 - 13 files changed, 8 insertions(+), 1869 deletions(-) delete mode 100644 queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch delete mode 100644 queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch delete mode 100644 queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch delete mode 100644 queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch delete mode 100644 queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch delete mode 100644 queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch delete mode 100644 queue-5.10/rdma-check-srq_type-during-create_srq.patch delete mode 100644 queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch delete mode 100644 queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch delete mode 100644 queue-5.10/sched-unbreak-wakeups.patch diff --git a/queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch b/queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch deleted file mode 100644 index b76d1cfec1d..00000000000 --- a/queue-5.10/drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 78cbc9a916e025099cbd2575c23e96ab651b20cc Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 19 Sep 2020 16:21:53 -0400 -Subject: drm/amdgpu/atomfirmware: Add edp and integrated info v2.1 tables - -From: Roman Li - -[ Upstream commit b9d90cb031c488d77a47084a009655d235e3d765 ] - -Required for vangogh. - -Signed-off-by: Roman Li -Reviewed-by: Alex Deucher -Reviewed-by: Harry Wentland -Signed-off-by: Alex Deucher -Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/include/atomfirmware.h | 62 +++++++++++++++++++++- - 1 file changed, 61 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h -index 0799a9ca04401..4eb578b1baef1 100644 ---- a/drivers/gpu/drm/amd/include/atomfirmware.h -+++ b/drivers/gpu/drm/amd/include/atomfirmware.h -@@ -1304,11 +1304,71 @@ struct atom_integrated_system_info_v1_12 - struct atom_hdmi_retimer_redriver_set dp3_retimer_set; //for DP3 - struct atom_DCN_dpphy_dp_tuningset hbr_tuningset; //hbr 2.7G dp tuning set - struct atom_DCN_dpphy_dp_tuningset hbr2_tuningset; //hbr2 5.4G dp turnig set -- struct atom_DCN_dpphy_dp_tuningset edp_tunings; //edp tuning set -+ struct atom_DCN_dpphy_dp_tuningset edp_tunings; //edp tuning set - struct atom_DCN_dpphy_dvihdmi_tuningset hdmiCLK6_tuningset; - uint32_t reserved[63]; - }; - -+ -+#if defined(CONFIG_DRM_AMD_DC_DCN3_01) -+ -+struct edp_info_table -+{ -+ uint16_t edp_backlight_pwm_hz; -+ uint16_t edp_ss_percentage; -+ uint16_t edp_ss_rate_10hz; -+ uint16_t reserved1; -+ uint32_t reserved2; -+ uint8_t edp_pwr_on_off_delay; -+ uint8_t edp_pwr_on_vary_bl_to_blon; -+ uint8_t edp_pwr_down_bloff_to_vary_bloff; -+ uint8_t edp_panel_bpc; -+ uint8_t edp_bootup_bl_level; -+ uint8_t reserved3[3]; -+ uint32_t reserved4[3]; -+}; -+ -+struct atom_integrated_system_info_v2_1 -+{ -+ struct atom_common_table_header table_header; -+ uint32_t vbios_misc; //enum of atom_system_vbiosmisc_def -+ uint32_t gpucapinfo; //enum of atom_system_gpucapinf_def -+ uint32_t system_config; -+ uint32_t cpucapinfo; -+ uint16_t gpuclk_ss_percentage; //unit of 0.001%, 1000 mean 1% -+ uint16_t gpuclk_ss_type; -+ uint16_t dpphy_override; // bit vector, enum of atom_sysinfo_dpphy_override_def -+ uint8_t memorytype; // enum of atom_dmi_t17_mem_type_def, APU memory type indication. -+ uint8_t umachannelnumber; // number of memory channels -+ uint8_t htc_hyst_limit; -+ uint8_t htc_tmp_limit; -+ uint8_t reserved1; -+ uint8_t reserved2; -+ struct edp_info_table edp1_info; -+ struct edp_info_table edp2_info; -+ uint32_t reserved3[8]; -+ struct atom_external_display_connection_info extdispconninfo; -+ struct atom_DCN_dpphy_dvihdmi_tuningset TMDS_tuningset; -+ struct atom_DCN_dpphy_dvihdmi_tuningset hdmiCLK5_tuningset; //add clk6 -+ struct atom_DCN_dpphy_dvihdmi_tuningset hdmiCLK6_tuningset; -+ struct atom_DCN_dpphy_dvihdmi_tuningset hdmiCLK8_tuningset; -+ uint32_t reserved4[6];//reserve 2*sizeof(atom_DCN_dpphy_dvihdmi_tuningset) -+ struct atom_DCN_dpphy_dp_tuningset rbr_tuningset; // rbr 1.62G dp tuning set -+ struct atom_DCN_dpphy_dp_tuningset hbr_tuningset; //hbr 2.7G dp tuning set -+ struct atom_DCN_dpphy_dp_tuningset hbr2_tuningset; //hbr2 5.4G dp turnig set -+ struct atom_DCN_dpphy_dp_tuningset hbr3_tuningset; // HBR3 dp tuning set -+ struct atom_DCN_dpphy_dp_tuningset edp_tunings; //edp tuning set -+ uint32_t reserved5[28];//reserve 2*sizeof(atom_DCN_dpphy_dp_tuningset) -+ struct atom_hdmi_retimer_redriver_set dp0_retimer_set; //for DP0 -+ struct atom_hdmi_retimer_redriver_set dp1_retimer_set; //for DP1 -+ struct atom_hdmi_retimer_redriver_set dp2_retimer_set; //for DP2 -+ struct atom_hdmi_retimer_redriver_set dp3_retimer_set; //for DP3 -+ uint32_t reserved6[30];// reserve size of(atom_camera_data) for camera_info -+ uint32_t reserved7[32]; -+ -+}; -+#endif -+ - // system_config - enum atom_system_vbiosmisc_def{ - INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01, --- -2.43.0 - diff --git a/queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch b/queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch deleted file mode 100644 index 2966e01b345..00000000000 --- a/queue-5.10/drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 932a1db41ed0a5e087fc7d9ca22b94e03948c132 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 20 May 2024 18:43:55 +0800 -Subject: drm/amdgpu/atomfirmware: add intergrated info v2.3 table - -From: Li Ma - -[ Upstream commit e64e8f7c178e5228e0b2dbb504b9dc75953a319f ] - -[Why] -The vram width value is 0. -Because the integratedsysteminfo table in VBIOS has updated to 2.3. - -[How] -Driver needs a new intergrated info v2.3 table too. -Then the vram width value will be correct. - -Signed-off-by: Li Ma -Reviewed-by: Yifan Zhang -Acked-by: Alex Deucher -Signed-off-by: Alex Deucher -Cc: stable@vger.kernel.org -Signed-off-by: Sasha Levin ---- - .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 15 +++++++ - drivers/gpu/drm/amd/include/atomfirmware.h | 43 +++++++++++++++++++ - 2 files changed, 58 insertions(+) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -index c5ebf8ee66bc4..f71fbdc02e111 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -@@ -113,6 +113,7 @@ union igp_info { - struct atom_integrated_system_info_v1_11 v11; - struct atom_integrated_system_info_v1_12 v12; - struct atom_integrated_system_info_v2_1 v21; -+ struct atom_integrated_system_info_v2_3 v23; - }; - - union umc_info { -@@ -239,6 +240,20 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev, - if (vram_type) - *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); - break; -+ case 3: -+ mem_channel_number = igp_info->v23.umachannelnumber; -+ if (!mem_channel_number) -+ mem_channel_number = 1; -+ mem_type = igp_info->v23.memorytype; -+ if (mem_type == LpDdr5MemType) -+ mem_channel_width = 32; -+ else -+ mem_channel_width = 64; -+ if (vram_width) -+ *vram_width = mem_channel_number * mem_channel_width; -+ if (vram_type) -+ *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); -+ break; - default: - return -EINVAL; - } -diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h -index c7cfe9d9096dc..7465f84ba5664 100644 ---- a/drivers/gpu/drm/amd/include/atomfirmware.h -+++ b/drivers/gpu/drm/amd/include/atomfirmware.h -@@ -1419,6 +1419,49 @@ struct atom_integrated_system_info_v2_2 - uint32_t reserved4[189]; - }; - -+struct uma_carveout_option { -+ char optionName[29]; //max length of string is 28chars + '\0'. Current design is for "minimum", "Medium", "High". This makes entire struct size 64bits -+ uint8_t memoryCarvedGb; //memory carved out with setting -+ uint8_t memoryRemainingGb; //memory remaining on system -+ union { -+ struct _flags { -+ uint8_t Auto : 1; -+ uint8_t Custom : 1; -+ uint8_t Reserved : 6; -+ } flags; -+ uint8_t all8; -+ } uma_carveout_option_flags; -+}; -+ -+struct atom_integrated_system_info_v2_3 { -+ struct atom_common_table_header table_header; -+ uint32_t vbios_misc; // enum of atom_system_vbiosmisc_def -+ uint32_t gpucapinfo; // enum of atom_system_gpucapinf_def -+ uint32_t system_config; -+ uint32_t cpucapinfo; -+ uint16_t gpuclk_ss_percentage; // unit of 0.001%, 1000 mean 1% -+ uint16_t gpuclk_ss_type; -+ uint16_t dpphy_override; // bit vector, enum of atom_sysinfo_dpphy_override_def -+ uint8_t memorytype; // enum of atom_dmi_t17_mem_type_def, APU memory type indication. -+ uint8_t umachannelnumber; // number of memory channels -+ uint8_t htc_hyst_limit; -+ uint8_t htc_tmp_limit; -+ uint8_t reserved1; // dp_ss_control -+ uint8_t gpu_package_id; -+ struct edp_info_table edp1_info; -+ struct edp_info_table edp2_info; -+ uint32_t reserved2[8]; -+ struct atom_external_display_connection_info extdispconninfo; -+ uint8_t UMACarveoutVersion; -+ uint8_t UMACarveoutIndexMax; -+ uint8_t UMACarveoutTypeDefault; -+ uint8_t UMACarveoutIndexDefault; -+ uint8_t UMACarveoutType; //Auto or Custom -+ uint8_t UMACarveoutIndex; -+ struct uma_carveout_option UMASizeControlOption[20]; -+ uint8_t reserved3[110]; -+}; -+ - // system_config - enum atom_system_vbiosmisc_def{ - INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01, --- -2.43.0 - diff --git a/queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch b/queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch deleted file mode 100644 index 0469a3c8a65..00000000000 --- a/queue-5.10/drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0e0594d117ca71ec4d4017b17d20160c871c64c8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 16 Oct 2020 11:42:00 -0400 -Subject: drm/amdgpu: drop CONFIG_DRM_AMD_DC_DCN3_01 from atomfirmware.h - -From: Alex Deucher - -[ Upstream commit 15047bd436a763dd2ddf8e1024b4e25af9cc11ee ] - -Not needed. - -Reviewed-by: Luben Tuikov -Signed-off-by: Alex Deucher -Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/include/atomfirmware.h | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h -index 4eb578b1baef1..6139d10f4289d 100644 ---- a/drivers/gpu/drm/amd/include/atomfirmware.h -+++ b/drivers/gpu/drm/amd/include/atomfirmware.h -@@ -1309,9 +1309,6 @@ struct atom_integrated_system_info_v1_12 - uint32_t reserved[63]; - }; - -- --#if defined(CONFIG_DRM_AMD_DC_DCN3_01) -- - struct edp_info_table - { - uint16_t edp_backlight_pwm_hz; -@@ -1367,7 +1364,6 @@ struct atom_integrated_system_info_v2_1 - uint32_t reserved7[32]; - - }; --#endif - - // system_config - enum atom_system_vbiosmisc_def{ --- -2.43.0 - diff --git a/queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch b/queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch deleted file mode 100644 index a674cfed901..00000000000 --- a/queue-5.10/drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 5bbed97f73987016b4f084c882125bc76c7fca74 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 13 Jan 2021 20:13:17 +0800 -Subject: drm/amdgpu: fix vram type and bandwidth error for DDR5 and DDR4 - -From: Huang Rui - -[ Upstream commit 78683229ddeef56ba62e4b680c6394ea97f88d6c ] - -This patch is to update atomfirmware parser for the memory type and -bandwidth of DDR5 and DDR4. - -Signed-off-by: Huang Rui -Reviewed-by: Alex Deucher -Signed-off-by: Alex Deucher -Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table") -Signed-off-by: Sasha Levin ---- - .../gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 53 +++++++++++++------ - 1 file changed, 36 insertions(+), 17 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -index b4df6460e45a9..c5ebf8ee66bc4 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c -@@ -112,6 +112,7 @@ int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev) - union igp_info { - struct atom_integrated_system_info_v1_11 v11; - struct atom_integrated_system_info_v1_12 v12; -+ struct atom_integrated_system_info_v2_1 v21; - }; - - union umc_info { -@@ -205,24 +206,42 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev, - if (adev->flags & AMD_IS_APU) { - igp_info = (union igp_info *) - (mode_info->atom_context->bios + data_offset); -- switch (crev) { -- case 11: -- mem_channel_number = igp_info->v11.umachannelnumber; -- /* channel width is 64 */ -- if (vram_width) -- *vram_width = mem_channel_number * 64; -- mem_type = igp_info->v11.memorytype; -- if (vram_type) -- *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); -+ switch (frev) { -+ case 1: -+ switch (crev) { -+ case 11: -+ case 12: -+ mem_channel_number = igp_info->v11.umachannelnumber; -+ if (!mem_channel_number) -+ mem_channel_number = 1; -+ /* channel width is 64 */ -+ if (vram_width) -+ *vram_width = mem_channel_number * 64; -+ mem_type = igp_info->v11.memorytype; -+ if (vram_type) -+ *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); -+ break; -+ default: -+ return -EINVAL; -+ } - break; -- case 12: -- mem_channel_number = igp_info->v12.umachannelnumber; -- /* channel width is 64 */ -- if (vram_width) -- *vram_width = mem_channel_number * 64; -- mem_type = igp_info->v12.memorytype; -- if (vram_type) -- *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); -+ case 2: -+ switch (crev) { -+ case 1: -+ case 2: -+ mem_channel_number = igp_info->v21.umachannelnumber; -+ if (!mem_channel_number) -+ mem_channel_number = 1; -+ /* channel width is 64 */ -+ if (vram_width) -+ *vram_width = mem_channel_number * 64; -+ mem_type = igp_info->v21.memorytype; -+ if (vram_type) -+ *vram_type = convert_atom_mem_type_to_vram_type(adev, mem_type); -+ break; -+ default: -+ return -EINVAL; -+ } - break; - default: - return -EINVAL; --- -2.43.0 - diff --git a/queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch b/queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch deleted file mode 100644 index c7e6b811c92..00000000000 --- a/queue-5.10/drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 75053bfdbb4d78694076e47c1e13fef25084a7bf Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 19 May 2021 10:38:47 -0400 -Subject: drm/amdgpu: Update atomfirmware for DCN3.1 phy tuning and eDP caps - -From: Nicholas Kazlauskas - -[ Upstream commit 753625643e218eb72a6e7b7df87db595a446931a ] - -[Why & How] -We'll need these in driver for phy tuning in DCN3.1. - -Multiple eDP support also requires understanding which LCD the backlight -curve in atombios is for. - -Acked-by: Huang Rui -Signed-off-by: Nicholas Kazlauskas -Signed-off-by: Alex Deucher -Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/include/atomfirmware.h | 56 +++++++++++++++++++++- - 1 file changed, 55 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h -index 6139d10f4289d..c7cfe9d9096dc 100644 ---- a/drivers/gpu/drm/amd/include/atomfirmware.h -+++ b/drivers/gpu/drm/amd/include/atomfirmware.h -@@ -871,7 +871,8 @@ struct atom_bracket_layout_record - }; - - enum atom_display_device_tag_def{ -- ATOM_DISPLAY_LCD1_SUPPORT = 0x0002, //an embedded display is either an LVDS or eDP signal type of display -+ ATOM_DISPLAY_LCD1_SUPPORT = 0x0002, //an embedded display is either an LVDS or eDP signal type of display -+ ATOM_DISPLAY_LCD2_SUPPORT = 0x0020, //second edp device tag 0x0020 for backward compability - ATOM_DISPLAY_DFP1_SUPPORT = 0x0008, - ATOM_DISPLAY_DFP2_SUPPORT = 0x0080, - ATOM_DISPLAY_DFP3_SUPPORT = 0x0200, -@@ -1365,6 +1366,59 @@ struct atom_integrated_system_info_v2_1 - - }; - -+struct atom_n6_display_phy_tuning_set { -+ uint8_t display_signal_type; -+ uint8_t phy_sel; -+ uint8_t preset_level; -+ uint8_t reserved1; -+ uint32_t reserved2; -+ uint32_t speed_upto; -+ uint8_t tx_vboost_level; -+ uint8_t tx_vreg_v2i; -+ uint8_t tx_vregdrv_byp; -+ uint8_t tx_term_cntl; -+ uint8_t tx_peak_level; -+ uint8_t tx_slew_en; -+ uint8_t tx_eq_pre; -+ uint8_t tx_eq_main; -+ uint8_t tx_eq_post; -+ uint8_t tx_en_inv_pre; -+ uint8_t tx_en_inv_post; -+ uint8_t reserved3; -+ uint32_t reserved4; -+ uint32_t reserved5; -+ uint32_t reserved6; -+}; -+ -+struct atom_display_phy_tuning_info { -+ struct atom_common_table_header table_header; -+ struct atom_n6_display_phy_tuning_set disp_phy_tuning[1]; -+}; -+ -+struct atom_integrated_system_info_v2_2 -+{ -+ struct atom_common_table_header table_header; -+ uint32_t vbios_misc; //enum of atom_system_vbiosmisc_def -+ uint32_t gpucapinfo; //enum of atom_system_gpucapinf_def -+ uint32_t system_config; -+ uint32_t cpucapinfo; -+ uint16_t gpuclk_ss_percentage; //unit of 0.001%, 1000 mean 1% -+ uint16_t gpuclk_ss_type; -+ uint16_t dpphy_override; // bit vector, enum of atom_sysinfo_dpphy_override_def -+ uint8_t memorytype; // enum of atom_dmi_t17_mem_type_def, APU memory type indication. -+ uint8_t umachannelnumber; // number of memory channels -+ uint8_t htc_hyst_limit; -+ uint8_t htc_tmp_limit; -+ uint8_t reserved1; -+ uint8_t reserved2; -+ struct edp_info_table edp1_info; -+ struct edp_info_table edp2_info; -+ uint32_t reserved3[8]; -+ struct atom_external_display_connection_info extdispconninfo; -+ -+ uint32_t reserved4[189]; -+}; -+ - // system_config - enum atom_system_vbiosmisc_def{ - INTEGRATED_SYSTEM_INFO__GET_EDID_CALLBACK_FUNC_SUPPORT = 0x01, --- -2.43.0 - diff --git a/queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch b/queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch deleted file mode 100644 index 92fd8031c79..00000000000 --- a/queue-5.10/drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch +++ /dev/null @@ -1,38 +0,0 @@ -From db94fa5f8f6d8f6f19747a278de06dabfebd8a53 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 28 Aug 2020 17:50:33 +0800 -Subject: drm/amdgpu: update new memory types in atomfirmware header - -From: Huang Rui - -[ Upstream commit af118ed9ef9fc6c6cc37f2db3d4aa2b66b2c4335 ] - -Add new nemory types in atomfirmware header. - -Signed-off-by: Huang Rui -Signed-off-by: Alex Deucher -Stable-dep-of: e64e8f7c178e ("drm/amdgpu/atomfirmware: add intergrated info v2.3 table") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/amd/include/atomfirmware.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/gpu/drm/amd/include/atomfirmware.h b/drivers/gpu/drm/amd/include/atomfirmware.h -index 3e526c394f6cb..0799a9ca04401 100644 ---- a/drivers/gpu/drm/amd/include/atomfirmware.h -+++ b/drivers/gpu/drm/amd/include/atomfirmware.h -@@ -1367,6 +1367,11 @@ enum atom_dmi_t17_mem_type_def{ - LpDdr2MemType, ///< Assign 28 to LPDDR2 - LpDdr3MemType, ///< Assign 29 to LPDDR3 - LpDdr4MemType, ///< Assign 30 to LPDDR4 -+ GDdr6MemType, ///< Assign 31 to GDDR6 -+ HbmMemType, ///< Assign 32 to HBM -+ Hbm2MemType, ///< Assign 33 to HBM2 -+ Ddr5MemType, ///< Assign 34 to DDR5 -+ LpDdr5MemType, ///< Assign 35 to LPDDR5 - }; - - --- -2.43.0 - diff --git a/queue-5.10/qca_spi-make-interrupt-remembering-atomic.patch b/queue-5.10/qca_spi-make-interrupt-remembering-atomic.patch index 3c8d692ddf8..a4e056038ca 100644 --- a/queue-5.10/qca_spi-make-interrupt-remembering-atomic.patch +++ b/queue-5.10/qca_spi-make-interrupt-remembering-atomic.patch @@ -17,16 +17,14 @@ Link: https://lore.kernel.org/r/20240614145030.7781-1-wahrenst@gmx.net Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin --- - drivers/net/ethernet/qualcomm/qca_debug.c | 6 ++---- - drivers/net/ethernet/qualcomm/qca_spi.c | 16 ++++++++-------- - drivers/net/ethernet/qualcomm/qca_spi.h | 3 +-- + drivers/net/ethernet/qualcomm/qca_debug.c | 6 ++---- + drivers/net/ethernet/qualcomm/qca_spi.c | 16 ++++++++-------- + drivers/net/ethernet/qualcomm/qca_spi.h | 3 +-- 3 files changed, 11 insertions(+), 14 deletions(-) -diff --git a/drivers/net/ethernet/qualcomm/qca_debug.c b/drivers/net/ethernet/qualcomm/qca_debug.c -index 66229b300c5a4..c205d3f036961 100644 --- a/drivers/net/ethernet/qualcomm/qca_debug.c +++ b/drivers/net/ethernet/qualcomm/qca_debug.c -@@ -110,10 +110,8 @@ qcaspi_info_show(struct seq_file *s, void *what) +@@ -110,10 +110,8 @@ qcaspi_info_show(struct seq_file *s, voi seq_printf(s, "IRQ : %d\n", qca->spi_dev->irq); @@ -39,8 +37,6 @@ index 66229b300c5a4..c205d3f036961 100644 seq_printf(s, "SPI max speed : %lu\n", (unsigned long)qca->spi_dev->max_speed_hz); -diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c -index 336e5d185f5fe..4978dd4aba3cb 100644 --- a/drivers/net/ethernet/qualcomm/qca_spi.c +++ b/drivers/net/ethernet/qualcomm/qca_spi.c @@ -49,6 +49,8 @@ @@ -86,10 +82,10 @@ index 336e5d185f5fe..4978dd4aba3cb 100644 - qca->intr_req++; + set_bit(SPI_INTR, &qca->intr); - if (qca->spi_thread) + if (qca->spi_thread && + qca->spi_thread->state != TASK_RUNNING) wake_up_process(qca->spi_thread); - -@@ -685,8 +686,7 @@ qcaspi_netdev_open(struct net_device *dev) +@@ -686,8 +687,7 @@ qcaspi_netdev_open(struct net_device *de if (!qca) return -EINVAL; @@ -99,8 +95,6 @@ index 336e5d185f5fe..4978dd4aba3cb 100644 qca->sync = QCASPI_SYNC_UNKNOWN; qcafrm_fsm_init_spi(&qca->frm_handle); -diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h -index d13a67e20d650..8d4767e9b9149 100644 --- a/drivers/net/ethernet/qualcomm/qca_spi.h +++ b/drivers/net/ethernet/qualcomm/qca_spi.h @@ -92,8 +92,7 @@ struct qcaspi { @@ -113,6 +107,3 @@ index d13a67e20d650..8d4767e9b9149 100644 u16 reset_count; #ifdef CONFIG_DEBUG_FS --- -2.43.0 - diff --git a/queue-5.10/rdma-check-srq_type-during-create_srq.patch b/queue-5.10/rdma-check-srq_type-during-create_srq.patch deleted file mode 100644 index f299895bfe2..00000000000 --- a/queue-5.10/rdma-check-srq_type-during-create_srq.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 4f0014a293620a6305d7d0c2450846d3e731a1d0 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 3 Oct 2020 20:20:05 -0300 -Subject: RDMA: Check srq_type during create_srq - -From: Jason Gunthorpe - -[ Upstream commit 652caba5b5501258a46d4b9279e0dbb6e5d42d75 ] - -uverbs was blocking srq_types the driver doesn't support based on the -CREATE_XSRQ cmd_mask. Fix all drivers to check for supported srq_types -during create_srq and move CREATE_XSRQ to the core code. - -Link: https://lore.kernel.org/r/5-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com -Signed-off-by: Jason Gunthorpe -Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute") -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/device.c | 1 + - drivers/infiniband/hw/cxgb4/qp.c | 3 +++ - drivers/infiniband/hw/hns/hns_roce_srq.c | 4 ++++ - drivers/infiniband/hw/mlx4/main.c | 3 --- - drivers/infiniband/hw/mlx4/srq.c | 4 ++++ - drivers/infiniband/hw/mlx5/main.c | 3 +-- - drivers/infiniband/hw/mlx5/srq.c | 5 +++++ - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 3 +++ - drivers/infiniband/hw/qedr/main.c | 3 --- - drivers/infiniband/hw/qedr/verbs.c | 4 ++++ - drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +- - drivers/infiniband/sw/rxe/rxe_verbs.c | 3 +++ - drivers/infiniband/sw/siw/siw_verbs.c | 3 +++ - 13 files changed, 32 insertions(+), 9 deletions(-) - -diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c -index b3c97f4f93b9f..1ceb9fe9382a9 100644 ---- a/drivers/infiniband/core/device.c -+++ b/drivers/infiniband/core/device.c -@@ -610,6 +610,7 @@ struct ib_device *_ib_alloc_device(size_t size) - BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) | - BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) | - BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_XSRQ) | - BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_MW) | - BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) | - BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) | -diff --git a/drivers/infiniband/hw/cxgb4/qp.c b/drivers/infiniband/hw/cxgb4/qp.c -index 12e5461581cb4..fb361bf9a0cef 100644 ---- a/drivers/infiniband/hw/cxgb4/qp.c -+++ b/drivers/infiniband/hw/cxgb4/qp.c -@@ -2682,6 +2682,9 @@ int c4iw_create_srq(struct ib_srq *ib_srq, struct ib_srq_init_attr *attrs, - int ret; - int wr_len; - -+ if (attrs->srq_type != IB_SRQT_BASIC) -+ return -EOPNOTSUPP; -+ - pr_debug("%s ib_pd %p\n", __func__, pd); - - php = to_c4iw_pd(pd); -diff --git a/drivers/infiniband/hw/hns/hns_roce_srq.c b/drivers/infiniband/hw/hns/hns_roce_srq.c -index 02e2416b5fed6..b9d5d5cf10ad3 100644 ---- a/drivers/infiniband/hw/hns/hns_roce_srq.c -+++ b/drivers/infiniband/hw/hns/hns_roce_srq.c -@@ -292,6 +292,10 @@ int hns_roce_create_srq(struct ib_srq *ib_srq, - int ret; - u32 cqn; - -+ if (init_attr->srq_type != IB_SRQT_BASIC && -+ init_attr->srq_type != IB_SRQT_XRC) -+ return -EOPNOTSUPP; -+ - /* Check the actual SRQ wqe and SRQ sge num */ - if (init_attr->attr.max_wr >= hr_dev->caps.max_srq_wrs || - init_attr->attr.max_sge > hr_dev->caps.max_srq_sges) -diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c -index 300a0a7827388..77ac0289eef12 100644 ---- a/drivers/infiniband/hw/mlx4/main.c -+++ b/drivers/infiniband/hw/mlx4/main.c -@@ -2654,9 +2654,6 @@ static void *mlx4_ib_add(struct mlx4_dev *dev) - ibdev->ib_dev.num_comp_vectors = dev->caps.num_comp_vectors; - ibdev->ib_dev.dev.parent = &dev->persist->pdev->dev; - -- ibdev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ); -- - ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_ops); - ibdev->ib_dev.uverbs_ex_cmd_mask |= - (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) | -diff --git a/drivers/infiniband/hw/mlx4/srq.c b/drivers/infiniband/hw/mlx4/srq.c -index bf618529e734d..6a381751c0d8e 100644 ---- a/drivers/infiniband/hw/mlx4/srq.c -+++ b/drivers/infiniband/hw/mlx4/srq.c -@@ -86,6 +86,10 @@ int mlx4_ib_create_srq(struct ib_srq *ib_srq, - int err; - int i; - -+ if (init_attr->srq_type != IB_SRQT_BASIC && -+ init_attr->srq_type != IB_SRQT_XRC) -+ return -EOPNOTSUPP; -+ - /* Sanity check SRQ size before proceeding */ - if (init_attr->attr.max_wr >= dev->dev->caps.max_srq_wqes || - init_attr->attr.max_sge > dev->dev->caps.max_srq_sge) -diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c -index 73b46414ddafe..112081c38cb2b 100644 ---- a/drivers/infiniband/hw/mlx5/main.c -+++ b/drivers/infiniband/hw/mlx5/main.c -@@ -4155,8 +4155,7 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev) - - dev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ); -+ (1ull << IB_USER_VERBS_CMD_DESTROY_AH); - dev->ib_dev.uverbs_ex_cmd_mask |= - (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_EX_CMD_CREATE_QP) | -diff --git a/drivers/infiniband/hw/mlx5/srq.c b/drivers/infiniband/hw/mlx5/srq.c -index e2f720eec1e18..12d485872e771 100644 ---- a/drivers/infiniband/hw/mlx5/srq.c -+++ b/drivers/infiniband/hw/mlx5/srq.c -@@ -226,6 +226,11 @@ int mlx5_ib_create_srq(struct ib_srq *ib_srq, - struct mlx5_srq_attr in = {}; - __u32 max_srq_wqes = 1 << MLX5_CAP_GEN(dev->mdev, log_max_srq_sz); - -+ if (init_attr->srq_type != IB_SRQT_BASIC && -+ init_attr->srq_type != IB_SRQT_XRC && -+ init_attr->srq_type != IB_SRQT_TM) -+ return -EOPNOTSUPP; -+ - /* Sanity check SRQ size before proceeding */ - if (init_attr->attr.max_wr >= max_srq_wqes) { - mlx5_ib_dbg(dev, "max_wr %d, cap %d\n", -diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c -index 81a560056cd52..9d047675947fd 100644 ---- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c -+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c -@@ -1770,6 +1770,9 @@ int ocrdma_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr, - struct ocrdma_dev *dev = get_ocrdma_dev(ibsrq->device); - struct ocrdma_srq *srq = get_ocrdma_srq(ibsrq); - -+ if (init_attr->srq_type != IB_SRQT_BASIC) -+ return -EOPNOTSUPP; -+ - if (init_attr->attr.max_sge > dev->attr.max_recv_sge) - return -EINVAL; - if (init_attr->attr.max_wr > dev->attr.max_rqe) -diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c -index e30edbaa30399..ad4a4b431258d 100644 ---- a/drivers/infiniband/hw/qedr/main.c -+++ b/drivers/infiniband/hw/qedr/main.c -@@ -188,9 +188,6 @@ static void qedr_roce_register_device(struct qedr_dev *dev) - dev->ibdev.node_type = RDMA_NODE_IB_CA; - - ib_set_device_ops(&dev->ibdev, &qedr_roce_dev_ops); -- -- dev->ibdev.uverbs_cmd_mask |= -- QEDR_UVERBS(CREATE_XSRQ); - } - - static const struct ib_device_ops qedr_dev_ops = { -diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c -index d382ac21159c2..f8c35bdb55752 100644 ---- a/drivers/infiniband/hw/qedr/verbs.c -+++ b/drivers/infiniband/hw/qedr/verbs.c -@@ -1547,6 +1547,10 @@ int qedr_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr, - "create SRQ called from %s (pd %p)\n", - (udata) ? "User lib" : "kernel", pd); - -+ if (init_attr->srq_type != IB_SRQT_BASIC && -+ init_attr->srq_type != IB_SRQT_XRC) -+ return -EOPNOTSUPP; -+ - rc = qedr_check_srq_params(dev, init_attr, udata); - if (rc) - return -EINVAL; -diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c -index 082208f9aa900..bdc2703532c6c 100644 ---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c -+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c -@@ -121,7 +121,7 @@ int pvrdma_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr, - dev_warn(&dev->pdev->dev, - "shared receive queue type %d not supported\n", - init_attr->srq_type); -- return -EINVAL; -+ return -EOPNOTSUPP; - } - - if (init_attr->attr.max_wr > dev->dsr->caps.max_srq_wr || -diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c -index 641373241dbe5..1bec084fe2f8b 100644 ---- a/drivers/infiniband/sw/rxe/rxe_verbs.c -+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c -@@ -265,6 +265,9 @@ static int rxe_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init, - struct rxe_srq *srq = to_rsrq(ibsrq); - struct rxe_create_srq_resp __user *uresp = NULL; - -+ if (init->srq_type != IB_SRQT_BASIC) -+ return -EOPNOTSUPP; -+ - if (udata) { - if (udata->outlen < sizeof(*uresp)) - return -EINVAL; -diff --git a/drivers/infiniband/sw/siw/siw_verbs.c b/drivers/infiniband/sw/siw/siw_verbs.c -index 1d4e0dc550e42..ae4619d055374 100644 ---- a/drivers/infiniband/sw/siw/siw_verbs.c -+++ b/drivers/infiniband/sw/siw/siw_verbs.c -@@ -1592,6 +1592,9 @@ int siw_create_srq(struct ib_srq *base_srq, - base_ucontext); - int rv; - -+ if (init_attrs->srq_type != IB_SRQT_BASIC) -+ return -EOPNOTSUPP; -+ - if (atomic_inc_return(&sdev->num_srq) > SIW_MAX_SRQ) { - siw_dbg_pd(base_srq->pd, "too many SRQ's\n"); - rv = -ENOMEM; --- -2.43.0 - diff --git a/queue-5.10/rdma-mlx5-add-check-for-srq-max_sge-attribute.patch b/queue-5.10/rdma-mlx5-add-check-for-srq-max_sge-attribute.patch index c8d2e774fc8..c9b6d10df0f 100644 --- a/queue-5.10/rdma-mlx5-add-check-for-srq-max_sge-attribute.patch +++ b/queue-5.10/rdma-mlx5-add-check-for-srq-max_sge-attribute.patch @@ -22,18 +22,13 @@ Signed-off-by: Sasha Levin --- a/drivers/infiniband/hw/mlx5/srq.c +++ b/drivers/infiniband/hw/mlx5/srq.c -@@ -225,17 +225,20 @@ int mlx5_ib_create_srq(struct ib_srq *ib +@@ -225,12 +225,15 @@ int mlx5_ib_create_srq(struct ib_srq *ib int err; struct mlx5_srq_attr in = {}; __u32 max_srq_wqes = 1 << MLX5_CAP_GEN(dev->mdev, log_max_srq_sz); + __u32 max_sge_sz = MLX5_CAP_GEN(dev->mdev, max_wqe_sz_rq) / + sizeof(struct mlx5_wqe_data_seg); - if (init_attr->srq_type != IB_SRQT_BASIC && - init_attr->srq_type != IB_SRQT_XRC && - init_attr->srq_type != IB_SRQT_TM) - return -EOPNOTSUPP; - - /* Sanity check SRQ size before proceeding */ - if (init_attr->attr.max_wr >= max_srq_wqes) { - mlx5_ib_dbg(dev, "max_wr %d, cap %d\n", diff --git a/queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch b/queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch deleted file mode 100644 index a3146250979..00000000000 --- a/queue-5.10/rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch +++ /dev/null @@ -1,455 +0,0 @@ -From 16d292747c8eba92ed2837d652551b91ecd55364 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 3 Oct 2020 20:20:04 -0300 -Subject: RDMA: Move more uverbs_cmd_mask settings to the core - -From: Jason Gunthorpe - -[ Upstream commit 44ce37bc8bf30283d16c5e5f20964b638bebd429 ] - -These functions all depend on the driver providing a specific op: - -- REREG_MR is rereg_user_mr(). bnxt_re set this without providing the op -- ATTACH/DEATCH_MCAST is attach_mcast()/detach_mcast(). usnic set this - without providing the op -- OPEN_QP doesn't involve the driver but requires a XRCD. qedr provides - xrcd but forgot to set it, usnic doesn't provide XRCD but set it anyhow. -- OPEN/CLOSE_XRCD are the ops alloc_xrcd()/dealloc_xrcd() -- CREATE_SRQ/DESTROY_SRQ are the ops create_srq()/destroy_srq() -- QUERY/MODIFY_SRQ is op query_srq()/modify_srq(). hns sets this but - sometimes supplies a NULL op. -- RESIZE_CQ is op resize_cq(). bnxt_re sets this boes doesn't supply an op -- ALLOC/DEALLOC_MW is alloc_mw()/dealloc_mw(). cxgb4 provided an - (now deleted) implementation but no userspace - -All drivers were checked that no drivers provide the op without also -setting uverbs_cmd_mask so this should have no functional change. - -Link: https://lore.kernel.org/r/4-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com -Signed-off-by: Jason Gunthorpe -Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute") -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/device.c | 16 ++++++++++++- - drivers/infiniband/core/uverbs_cmd.c | 8 +++---- - drivers/infiniband/hw/bnxt_re/main.c | 6 ----- - drivers/infiniband/hw/cxgb4/provider.c | 5 +--- - drivers/infiniband/hw/hns/hns_roce_main.c | 14 ++--------- - drivers/infiniband/hw/mlx4/main.c | 20 ++-------------- - drivers/infiniband/hw/mlx5/main.c | 23 +++---------------- - drivers/infiniband/hw/mthca/mthca_provider.c | 10 -------- - drivers/infiniband/hw/ocrdma/ocrdma_main.c | 5 ---- - drivers/infiniband/hw/qedr/main.c | 8 +------ - drivers/infiniband/hw/usnic/usnic_ib_main.c | 5 ---- - .../infiniband/hw/vmw_pvrdma/pvrdma_main.c | 4 ---- - drivers/infiniband/sw/rdmavt/vt.c | 7 ------ - drivers/infiniband/sw/rxe/rxe_verbs.c | 9 +------- - drivers/infiniband/sw/siw/siw_main.c | 6 +---- - 15 files changed, 30 insertions(+), 116 deletions(-) - -diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c -index cbb6a7c69360c..b3c97f4f93b9f 100644 ---- a/drivers/infiniband/core/device.c -+++ b/drivers/infiniband/core/device.c -@@ -284,6 +284,7 @@ static void ib_device_check_mandatory(struct ib_device *device) - IB_MANDATORY_FUNC(poll_cq), - IB_MANDATORY_FUNC(req_notify_cq), - IB_MANDATORY_FUNC(get_dma_mr), -+ IB_MANDATORY_FUNC(reg_user_mr), - IB_MANDATORY_FUNC(dereg_mr), - IB_MANDATORY_FUNC(get_port_immutable) - }; -@@ -601,20 +602,33 @@ struct ib_device *_ib_alloc_device(size_t size) - INIT_WORK(&device->unregistration_work, ib_unregister_work); - - device->uverbs_cmd_mask = -+ BIT_ULL(IB_USER_VERBS_CMD_ALLOC_MW) | - BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) | -+ BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST) | -+ BIT_ULL(IB_USER_VERBS_CMD_CLOSE_XRCD) | - BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | - BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) | - BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_MW) | - BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) | - BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) | - BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) | - BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST) | - BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) | - BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_OPEN_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_OPEN_XRCD) | - BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) | - BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) | - BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) | -- BIT_ULL(IB_USER_VERBS_CMD_REG_MR); -+ BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_REG_MR) | -+ BIT_ULL(IB_USER_VERBS_CMD_REREG_MR) | -+ BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ); - - device->uverbs_ex_cmd_mask = - BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_FLOW) | -diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c -index 158f9eadc4e95..36fb509ea24b3 100644 ---- a/drivers/infiniband/core/uverbs_cmd.c -+++ b/drivers/infiniband/core/uverbs_cmd.c -@@ -4024,8 +4024,7 @@ const struct uapi_definition uverbs_def_write_intf[] = { - DECLARE_UVERBS_WRITE( - IB_USER_VERBS_CMD_CLOSE_XRCD, - ib_uverbs_close_xrcd, -- UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd), -- UAPI_DEF_METHOD_NEEDS_FN(dealloc_xrcd)), -+ UAPI_DEF_WRITE_I(struct ib_uverbs_close_xrcd)), - DECLARE_UVERBS_WRITE(IB_USER_VERBS_CMD_OPEN_QP, - ib_uverbs_open_qp, - UAPI_DEF_WRITE_UDATA_IO( -@@ -4035,8 +4034,9 @@ const struct uapi_definition uverbs_def_write_intf[] = { - ib_uverbs_open_xrcd, - UAPI_DEF_WRITE_UDATA_IO( - struct ib_uverbs_open_xrcd, -- struct ib_uverbs_open_xrcd_resp), -- UAPI_DEF_METHOD_NEEDS_FN(alloc_xrcd))), -+ struct ib_uverbs_open_xrcd_resp)), -+ UAPI_DEF_OBJ_NEEDS_FN(alloc_xrcd), -+ UAPI_DEF_OBJ_NEEDS_FN(dealloc_xrcd)), - - {}, - }; -diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c -index 0be439c73bef4..195fbfe1d13d5 100644 ---- a/drivers/infiniband/hw/bnxt_re/main.c -+++ b/drivers/infiniband/hw/bnxt_re/main.c -@@ -711,12 +711,6 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev) - - /* User space */ - ibdev->uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) | - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_MODIFY_AH) | - (1ull << IB_USER_VERBS_CMD_QUERY_AH) | -diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c -index c692407dcaa40..49c173ae76b69 100644 ---- a/drivers/infiniband/hw/cxgb4/provider.c -+++ b/drivers/infiniband/hw/cxgb4/provider.c -@@ -537,10 +537,7 @@ void c4iw_register_device(struct work_struct *work) - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | -- (1ull << IB_USER_VERBS_CMD_POST_RECV) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ); -+ (1ull << IB_USER_VERBS_CMD_POST_RECV); - dev->ibdev.node_type = RDMA_NODE_RNIC; - BUILD_BUG_ON(sizeof(C4IW_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX); - memcpy(dev->ibdev.node_desc, C4IW_NODE_DESC, sizeof(C4IW_NODE_DESC)); -diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c -index 3956da653901b..9352f0a3073e6 100644 ---- a/drivers/infiniband/hw/hns/hns_roce_main.c -+++ b/drivers/infiniband/hw/hns/hns_roce_main.c -@@ -496,18 +496,12 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev) - ib_dev->local_dma_lkey = hr_dev->caps.reserved_lkey; - ib_dev->num_comp_vectors = hr_dev->caps.num_comp_vectors; - -- if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) { -- ib_dev->uverbs_cmd_mask |= (1ULL << IB_USER_VERBS_CMD_REREG_MR); -+ if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) - ib_set_device_ops(ib_dev, &hns_roce_dev_mr_ops); -- } - - /* MW */ -- if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW) { -- ib_dev->uverbs_cmd_mask |= -- (1ULL << IB_USER_VERBS_CMD_ALLOC_MW) | -- (1ULL << IB_USER_VERBS_CMD_DEALLOC_MW); -+ if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_MW) - ib_set_device_ops(ib_dev, &hns_roce_dev_mw_ops); -- } - - /* FRMR */ - if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_FRMR) -@@ -516,10 +510,6 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev) - /* SRQ */ - if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_SRQ) { - ib_dev->uverbs_cmd_mask |= -- (1ULL << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ULL << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ULL << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ULL << IB_USER_VERBS_CMD_DESTROY_SRQ) | - (1ULL << IB_USER_VERBS_CMD_POST_SRQ_RECV); - ib_set_device_ops(ib_dev, &hns_roce_dev_srq_ops); - ib_set_device_ops(ib_dev, hr_dev->hw->hns_roce_dev_srq_ops); -diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c -index 6058128b0f56a..300a0a7827388 100644 ---- a/drivers/infiniband/hw/mlx4/main.c -+++ b/drivers/infiniband/hw/mlx4/main.c -@@ -2655,16 +2655,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev) - ibdev->ib_dev.dev.parent = &dev->persist->pdev->dev; - - ibdev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) | -- (1ull << IB_USER_VERBS_CMD_OPEN_QP); -+ (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ); - - ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_ops); - ibdev->ib_dev.uverbs_ex_cmd_mask |= -@@ -2679,17 +2670,10 @@ static void *mlx4_ib_add(struct mlx4_dev *dev) - ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_wq_ops); - - if (dev->caps.flags & MLX4_DEV_CAP_FLAG_MEM_WINDOW || -- dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) { -- ibdev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_ALLOC_MW) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_MW); -+ dev->caps.bmme_flags & MLX4_BMME_FLAG_TYPE_2_WIN) - ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_mw_ops); -- } - - if (dev->caps.flags & MLX4_DEV_CAP_FLAG_XRC) { -- ibdev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_OPEN_XRCD) | -- (1ull << IB_USER_VERBS_CMD_CLOSE_XRCD); - ib_set_device_ops(&ibdev->ib_dev, &mlx4_ib_dev_xrc_ops); - } - -diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c -index 4e83ba99877fd..73b46414ddafe 100644 ---- a/drivers/infiniband/hw/mlx5/main.c -+++ b/drivers/infiniband/hw/mlx5/main.c -@@ -4156,16 +4156,7 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev) - dev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) | -- (1ull << IB_USER_VERBS_CMD_OPEN_QP); -+ (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ); - dev->ib_dev.uverbs_ex_cmd_mask |= - (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_EX_CMD_CREATE_QP) | -@@ -4181,19 +4172,11 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev) - - dev->umr_fence = mlx5_get_umr_fence(MLX5_CAP_GEN(mdev, umr_fence)); - -- if (MLX5_CAP_GEN(mdev, imaicl)) { -- dev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_ALLOC_MW) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_MW); -+ if (MLX5_CAP_GEN(mdev, imaicl)) - ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_mw_ops); -- } - -- if (MLX5_CAP_GEN(mdev, xrc)) { -- dev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_OPEN_XRCD) | -- (1ull << IB_USER_VERBS_CMD_CLOSE_XRCD); -+ if (MLX5_CAP_GEN(mdev, xrc)) - ib_set_device_ops(&dev->ib_dev, &mlx5_ib_dev_xrc_ops); -- } - - if (MLX5_CAP_DEV_MEM(mdev, memic) || - MLX5_CAP_GEN_64(dev->mdev, general_obj_types) & -diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c -index 86840afcfba63..ea4a8deabfb6f 100644 ---- a/drivers/infiniband/hw/mthca/mthca_provider.c -+++ b/drivers/infiniband/hw/mthca/mthca_provider.c -@@ -1158,22 +1158,12 @@ int mthca_register_device(struct mthca_dev *dev) - if (ret) - return ret; - -- dev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_DETACH_MCAST); - dev->ib_dev.node_type = RDMA_NODE_IB_CA; - dev->ib_dev.phys_port_cnt = dev->limits.num_ports; - dev->ib_dev.num_comp_vectors = 1; - dev->ib_dev.dev.parent = &dev->pdev->dev; - - if (dev->mthca_flags & MTHCA_FLAG_SRQ) { -- dev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ); -- - if (mthca_is_memfree(dev)) - ib_set_device_ops(&dev->ib_dev, - &mthca_dev_arbel_srq_ops); -diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c -index e6611a7e8eeb2..b5c8b5a9a0939 100644 ---- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c -+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c -@@ -205,7 +205,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev) - memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC, - sizeof(OCRDMA_NODE_DESC)); - dev->ibdev.uverbs_cmd_mask |= -- OCRDMA_UVERBS(RESIZE_CQ) | - OCRDMA_UVERBS(REQ_NOTIFY_CQ) | - OCRDMA_UVERBS(POLL_CQ) | - OCRDMA_UVERBS(POST_SEND) | -@@ -228,10 +227,6 @@ static int ocrdma_register_device(struct ocrdma_dev *dev) - - if (ocrdma_get_asic_type(dev) == OCRDMA_ASIC_GEN_SKH_R) { - dev->ibdev.uverbs_cmd_mask |= -- OCRDMA_UVERBS(CREATE_SRQ) | -- OCRDMA_UVERBS(MODIFY_SRQ) | -- OCRDMA_UVERBS(QUERY_SRQ) | -- OCRDMA_UVERBS(DESTROY_SRQ) | - OCRDMA_UVERBS(POST_SRQ_RECV); - - ib_set_device_ops(&dev->ibdev, &ocrdma_dev_srq_ops); -diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c -index 9ba44d9dbd1d3..e30edbaa30399 100644 ---- a/drivers/infiniband/hw/qedr/main.c -+++ b/drivers/infiniband/hw/qedr/main.c -@@ -189,8 +189,7 @@ static void qedr_roce_register_device(struct qedr_dev *dev) - - ib_set_device_ops(&dev->ibdev, &qedr_roce_dev_ops); - -- dev->ibdev.uverbs_cmd_mask |= QEDR_UVERBS(OPEN_XRCD) | -- QEDR_UVERBS(CLOSE_XRCD) | -+ dev->ibdev.uverbs_cmd_mask |= - QEDR_UVERBS(CREATE_XSRQ); - } - -@@ -250,12 +249,7 @@ static int qedr_register_device(struct qedr_dev *dev) - memcpy(dev->ibdev.node_desc, QEDR_NODE_DESC, sizeof(QEDR_NODE_DESC)); - - dev->ibdev.uverbs_cmd_mask |= -- QEDR_UVERBS(RESIZE_CQ) | - QEDR_UVERBS(REQ_NOTIFY_CQ) | -- QEDR_UVERBS(CREATE_SRQ) | -- QEDR_UVERBS(DESTROY_SRQ) | -- QEDR_UVERBS(QUERY_SRQ) | -- QEDR_UVERBS(MODIFY_SRQ) | - QEDR_UVERBS(POST_SRQ_RECV) | - QEDR_UVERBS(POLL_CQ) | - QEDR_UVERBS(POST_SEND) | -diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c -index 7db5c1c7d06d2..1b63a491fa72d 100644 ---- a/drivers/infiniband/hw/usnic/usnic_ib_main.c -+++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c -@@ -398,11 +398,6 @@ static void *usnic_ib_device_add(struct pci_dev *dev) - us_ibdev->ib_dev.num_comp_vectors = USNIC_IB_NUM_COMP_VECTORS; - us_ibdev->ib_dev.dev.parent = &dev->dev; - -- us_ibdev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_OPEN_QP); -- - ib_set_device_ops(&us_ibdev->ib_dev, &usnic_dev_ops); - - rdma_set_device_sysfs_group(&us_ibdev->ib_dev, &usnic_attr_group); -diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -index 223977703f935..db19feabf51a9 100644 ---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -@@ -236,10 +236,6 @@ static int pvrdma_register_device(struct pvrdma_dev *dev) - /* Check if SRQ is supported by backend */ - if (dev->dsr->caps.max_srq) { - dev->ib_dev.uverbs_cmd_mask |= -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) | - (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV); - - ib_set_device_ops(&dev->ib_dev, &pvrdma_dev_srq_ops); -diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c -index 151e4acc26bd5..f1ec0311e5cc8 100644 ---- a/drivers/infiniband/sw/rdmavt/vt.c -+++ b/drivers/infiniband/sw/rdmavt/vt.c -@@ -593,17 +593,10 @@ int rvt_register_device(struct rvt_dev_info *rdi) - (1ull << IB_USER_VERBS_CMD_MODIFY_AH) | - (1ull << IB_USER_VERBS_CMD_QUERY_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | -- (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ) | - (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV); - rdi->ibdev.node_type = RDMA_NODE_IB_CA; - if (!rdi->ibdev.num_comp_vectors) -diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c -index 8f63d0f186d7c..641373241dbe5 100644 ---- a/drivers/infiniband/sw/rxe/rxe_verbs.c -+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c -@@ -1129,14 +1129,9 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name) - rxe->ndev->dev_addr); - - dev->uverbs_cmd_mask |= -- BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) -- | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ) -- | BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ) -- | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ) -- | BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV) -+ BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV) - | BIT_ULL(IB_USER_VERBS_CMD_POST_SEND) - | BIT_ULL(IB_USER_VERBS_CMD_POST_RECV) -- | BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_POLL_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_PEEK_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) -@@ -1144,8 +1139,6 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name) - | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_AH) - | BIT_ULL(IB_USER_VERBS_CMD_QUERY_AH) - | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_AH) -- | BIT_ULL(IB_USER_VERBS_CMD_ATTACH_MCAST) -- | BIT_ULL(IB_USER_VERBS_CMD_DETACH_MCAST) - ; - - ib_set_device_ops(dev, &rxe_dev_ops); -diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c -index 7c6f534590b19..8d66a4a4a6ca6 100644 ---- a/drivers/infiniband/sw/siw/siw_main.c -+++ b/drivers/infiniband/sw/siw/siw_main.c -@@ -335,11 +335,7 @@ static struct siw_device *siw_device_create(struct net_device *netdev) - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | -- (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -- (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_SRQ); -+ (1ull << IB_USER_VERBS_CMD_POST_SRQ_RECV); - - base_dev->node_type = RDMA_NODE_RNIC; - memcpy(base_dev->node_desc, SIW_NODE_DESC_COMMON, --- -2.43.0 - diff --git a/queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch b/queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch deleted file mode 100644 index 889c26b26d5..00000000000 --- a/queue-5.10/rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch +++ /dev/null @@ -1,515 +0,0 @@ -From d1d6dbce8b7a3a750b3a720123af9a4508f169bd Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 3 Oct 2020 20:20:03 -0300 -Subject: RDMA: Remove elements in uverbs_cmd_mask that all drivers set - -From: Jason Gunthorpe - -[ Upstream commit c074bb1e30f9b51032245300798613a290e42f25 ] - -This is a step toward eliminating uverbs_cmd_mask. Preset this list in the -core code. Only the op reg_user_mr wasn't already being required from the -drivers. - -Link: https://lore.kernel.org/r/3-v1-caa70ba3d1ab+1436e-ucmd_mask_jgg@nvidia.com -Signed-off-by: Jason Gunthorpe -Stable-dep-of: 36ab7ada64ca ("RDMA/mlx5: Add check for srq max_sge attribute") -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/device.c | 16 ++++++++++++++++ - drivers/infiniband/hw/bnxt_re/main.c | 16 +--------------- - drivers/infiniband/hw/cxgb4/provider.c | 16 +--------------- - drivers/infiniband/hw/efa/efa_main.c | 16 +--------------- - drivers/infiniband/hw/hns/hns_roce_main.c | 15 --------------- - drivers/infiniband/hw/i40iw/i40iw_verbs.c | 16 +--------------- - drivers/infiniband/hw/mlx4/main.c | 16 +--------------- - drivers/infiniband/hw/mlx5/main.c | 16 +--------------- - drivers/infiniband/hw/mthca/mthca_provider.c | 16 +--------------- - drivers/infiniband/hw/ocrdma/ocrdma_main.c | 16 +--------------- - drivers/infiniband/hw/qedr/main.c | 15 +-------------- - drivers/infiniband/hw/usnic/usnic_ib_main.c | 16 +--------------- - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 16 +--------------- - drivers/infiniband/sw/rdmavt/vt.c | 16 +--------------- - drivers/infiniband/sw/rxe/rxe_verbs.c | 17 ++--------------- - drivers/infiniband/sw/siw/siw_main.c | 16 +--------------- - 16 files changed, 31 insertions(+), 224 deletions(-) - -diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c -index 94c3bad72cc59..cbb6a7c69360c 100644 ---- a/drivers/infiniband/core/device.c -+++ b/drivers/infiniband/core/device.c -@@ -600,6 +600,22 @@ struct ib_device *_ib_alloc_device(size_t size) - init_completion(&device->unreg_completion); - INIT_WORK(&device->unregistration_work, ib_unregister_work); - -+ device->uverbs_cmd_mask = -+ BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) | -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) | -+ BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) | -+ BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) | -+ BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) | -+ BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) | -+ BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) | -+ BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) | -+ BIT_ULL(IB_USER_VERBS_CMD_REG_MR); -+ - device->uverbs_ex_cmd_mask = - BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_FLOW) | - BIT_ULL(IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL) | -diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c -index 76030eac49a37..0be439c73bef4 100644 ---- a/drivers/infiniband/hw/bnxt_re/main.c -+++ b/drivers/infiniband/hw/bnxt_re/main.c -@@ -710,23 +710,9 @@ static int bnxt_re_register_ib(struct bnxt_re_dev *rdev) - ibdev->local_dma_lkey = BNXT_QPLIB_RSVD_LKEY; - - /* User space */ -- ibdev->uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -+ ibdev->uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | - (1ull << IB_USER_VERBS_CMD_MODIFY_SRQ) | - (1ull << IB_USER_VERBS_CMD_QUERY_SRQ) | -diff --git a/drivers/infiniband/hw/cxgb4/provider.c b/drivers/infiniband/hw/cxgb4/provider.c -index 8138c57a1e43b..c692407dcaa40 100644 ---- a/drivers/infiniband/hw/cxgb4/provider.c -+++ b/drivers/infiniband/hw/cxgb4/provider.c -@@ -533,23 +533,9 @@ void c4iw_register_device(struct work_struct *work) - if (fastreg_support) - dev->device_cap_flags |= IB_DEVICE_MEM_MGT_EXTENSIONS; - dev->ibdev.local_dma_lkey = 0; -- dev->ibdev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -+ dev->ibdev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | - (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c -index cd41cd114ab63..ead0f84a323eb 100644 ---- a/drivers/infiniband/hw/efa/efa_main.c -+++ b/drivers/infiniband/hw/efa/efa_main.c -@@ -308,21 +308,7 @@ static int efa_ib_device_add(struct efa_dev *dev) - dev->ibdev.num_comp_vectors = 1; - dev->ibdev.dev.parent = &pdev->dev; - -- dev->ibdev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | -+ dev->ibdev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH); - -diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c -index f62162771db51..3956da653901b 100644 ---- a/drivers/infiniband/hw/hns/hns_roce_main.c -+++ b/drivers/infiniband/hw/hns/hns_roce_main.c -@@ -495,21 +495,6 @@ static int hns_roce_register_device(struct hns_roce_dev *hr_dev) - ib_dev->phys_port_cnt = hr_dev->caps.num_ports; - ib_dev->local_dma_lkey = hr_dev->caps.reserved_lkey; - ib_dev->num_comp_vectors = hr_dev->caps.num_comp_vectors; -- ib_dev->uverbs_cmd_mask = -- (1ULL << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ULL << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ULL << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ULL << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ULL << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ULL << IB_USER_VERBS_CMD_REG_MR) | -- (1ULL << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ULL << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ULL << IB_USER_VERBS_CMD_CREATE_CQ) | -- (1ULL << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ULL << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ULL << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ULL << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ULL << IB_USER_VERBS_CMD_DESTROY_QP); - - if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_REREG_MR) { - ib_dev->uverbs_cmd_mask |= (1ULL << IB_USER_VERBS_CMD_REREG_MR); -diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c -index 89654dc91d81a..713b2ec263422 100644 ---- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c -+++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c -@@ -2667,25 +2667,11 @@ static struct i40iw_ib_device *i40iw_init_rdma_device(struct i40iw_device *iwdev - iwibdev->ibdev.node_type = RDMA_NODE_RNIC; - ether_addr_copy((u8 *)&iwibdev->ibdev.node_guid, netdev->dev_addr); - -- iwibdev->ibdev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -+ iwibdev->ibdev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | - (1ull << IB_USER_VERBS_CMD_POST_SEND); - iwibdev->ibdev.phys_port_cnt = 1; -diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c -index c62cdd6456962..6058128b0f56a 100644 ---- a/drivers/infiniband/hw/mlx4/main.c -+++ b/drivers/infiniband/hw/mlx4/main.c -@@ -2654,23 +2654,9 @@ static void *mlx4_ib_add(struct mlx4_dev *dev) - ibdev->ib_dev.num_comp_vectors = dev->caps.num_comp_vectors; - ibdev->ib_dev.dev.parent = &dev->persist->pdev->dev; - -- ibdev->ib_dev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -+ ibdev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c -index d36436d4277a0..4e83ba99877fd 100644 ---- a/drivers/infiniband/hw/mlx5/main.c -+++ b/drivers/infiniband/hw/mlx5/main.c -@@ -4153,25 +4153,11 @@ static int mlx5_ib_stage_caps_init(struct mlx5_ib_dev *dev) - struct mlx5_core_dev *mdev = dev->mdev; - int err; - -- dev->ib_dev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -+ dev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | - (1ull << IB_USER_VERBS_CMD_REREG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | -diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c -index c4d9cdc4ee97e..86840afcfba63 100644 ---- a/drivers/infiniband/hw/mthca/mthca_provider.c -+++ b/drivers/infiniband/hw/mthca/mthca_provider.c -@@ -1158,22 +1158,8 @@ int mthca_register_device(struct mthca_dev *dev) - if (ret) - return ret; - -- dev->ib_dev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -+ dev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_DETACH_MCAST); - dev->ib_dev.node_type = RDMA_NODE_IB_CA; -diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c -index 9b96661a71435..e6611a7e8eeb2 100644 ---- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c -+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c -@@ -204,23 +204,9 @@ static int ocrdma_register_device(struct ocrdma_dev *dev) - BUILD_BUG_ON(sizeof(OCRDMA_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX); - memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC, - sizeof(OCRDMA_NODE_DESC)); -- dev->ibdev.uverbs_cmd_mask = -- OCRDMA_UVERBS(GET_CONTEXT) | -- OCRDMA_UVERBS(QUERY_DEVICE) | -- OCRDMA_UVERBS(QUERY_PORT) | -- OCRDMA_UVERBS(ALLOC_PD) | -- OCRDMA_UVERBS(DEALLOC_PD) | -- OCRDMA_UVERBS(REG_MR) | -- OCRDMA_UVERBS(DEREG_MR) | -- OCRDMA_UVERBS(CREATE_COMP_CHANNEL) | -- OCRDMA_UVERBS(CREATE_CQ) | -+ dev->ibdev.uverbs_cmd_mask |= - OCRDMA_UVERBS(RESIZE_CQ) | -- OCRDMA_UVERBS(DESTROY_CQ) | - OCRDMA_UVERBS(REQ_NOTIFY_CQ) | -- OCRDMA_UVERBS(CREATE_QP) | -- OCRDMA_UVERBS(MODIFY_QP) | -- OCRDMA_UVERBS(QUERY_QP) | -- OCRDMA_UVERBS(DESTROY_QP) | - OCRDMA_UVERBS(POLL_CQ) | - OCRDMA_UVERBS(POST_SEND) | - OCRDMA_UVERBS(POST_RECV); -diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c -index d0bb61b7e419f..9ba44d9dbd1d3 100644 ---- a/drivers/infiniband/hw/qedr/main.c -+++ b/drivers/infiniband/hw/qedr/main.c -@@ -249,27 +249,14 @@ static int qedr_register_device(struct qedr_dev *dev) - dev->ibdev.node_guid = dev->attr.node_guid; - memcpy(dev->ibdev.node_desc, QEDR_NODE_DESC, sizeof(QEDR_NODE_DESC)); - -- dev->ibdev.uverbs_cmd_mask = QEDR_UVERBS(GET_CONTEXT) | -- QEDR_UVERBS(QUERY_DEVICE) | -- QEDR_UVERBS(QUERY_PORT) | -- QEDR_UVERBS(ALLOC_PD) | -- QEDR_UVERBS(DEALLOC_PD) | -- QEDR_UVERBS(CREATE_COMP_CHANNEL) | -- QEDR_UVERBS(CREATE_CQ) | -+ dev->ibdev.uverbs_cmd_mask |= - QEDR_UVERBS(RESIZE_CQ) | -- QEDR_UVERBS(DESTROY_CQ) | - QEDR_UVERBS(REQ_NOTIFY_CQ) | -- QEDR_UVERBS(CREATE_QP) | -- QEDR_UVERBS(MODIFY_QP) | -- QEDR_UVERBS(QUERY_QP) | -- QEDR_UVERBS(DESTROY_QP) | - QEDR_UVERBS(CREATE_SRQ) | - QEDR_UVERBS(DESTROY_SRQ) | - QEDR_UVERBS(QUERY_SRQ) | - QEDR_UVERBS(MODIFY_SRQ) | - QEDR_UVERBS(POST_SRQ_RECV) | -- QEDR_UVERBS(REG_MR) | -- QEDR_UVERBS(DEREG_MR) | - QEDR_UVERBS(POLL_CQ) | - QEDR_UVERBS(POST_SEND) | - QEDR_UVERBS(POST_RECV); -diff --git a/drivers/infiniband/hw/usnic/usnic_ib_main.c b/drivers/infiniband/hw/usnic/usnic_ib_main.c -index aa2e65fc5cd65..7db5c1c7d06d2 100644 ---- a/drivers/infiniband/hw/usnic/usnic_ib_main.c -+++ b/drivers/infiniband/hw/usnic/usnic_ib_main.c -@@ -398,21 +398,7 @@ static void *usnic_ib_device_add(struct pci_dev *dev) - us_ibdev->ib_dev.num_comp_vectors = USNIC_IB_NUM_COMP_VECTORS; - us_ibdev->ib_dev.dev.parent = &dev->dev; - -- us_ibdev->ib_dev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | -+ us_ibdev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_DETACH_MCAST) | - (1ull << IB_USER_VERBS_CMD_OPEN_QP); -diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -index 6895bac539907..223977703f935 100644 ---- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c -@@ -205,23 +205,9 @@ static int pvrdma_register_device(struct pvrdma_dev *dev) - dev->flags = 0; - dev->ib_dev.num_comp_vectors = 1; - dev->ib_dev.dev.parent = &dev->pdev->dev; -- dev->ib_dev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -+ dev->ib_dev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | -diff --git a/drivers/infiniband/sw/rdmavt/vt.c b/drivers/infiniband/sw/rdmavt/vt.c -index d1bbe66610cfe..151e4acc26bd5 100644 ---- a/drivers/infiniband/sw/rdmavt/vt.c -+++ b/drivers/infiniband/sw/rdmavt/vt.c -@@ -588,28 +588,14 @@ int rvt_register_device(struct rvt_dev_info *rdi) - * exactly which functions rdmavt supports, nor do they know the ABI - * version, so we do all of this sort of stuff here. - */ -- rdi->ibdev.uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -+ rdi->ibdev.uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_CREATE_AH) | - (1ull << IB_USER_VERBS_CMD_MODIFY_AH) | - (1ull << IB_USER_VERBS_CMD_QUERY_AH) | - (1ull << IB_USER_VERBS_CMD_DESTROY_AH) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | - (1ull << IB_USER_VERBS_CMD_RESIZE_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | - (1ull << IB_USER_VERBS_CMD_ATTACH_MCAST) | -diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c -index 512868c230238..8f63d0f186d7c 100644 ---- a/drivers/infiniband/sw/rxe/rxe_verbs.c -+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c -@@ -1128,31 +1128,18 @@ int rxe_register_device(struct rxe_dev *rxe, const char *ibdev_name) - addrconf_addr_eui48((unsigned char *)&dev->node_guid, - rxe->ndev->dev_addr); - -- dev->uverbs_cmd_mask = BIT_ULL(IB_USER_VERBS_CMD_GET_CONTEXT) -- | BIT_ULL(IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) -- | BIT_ULL(IB_USER_VERBS_CMD_QUERY_DEVICE) -- | BIT_ULL(IB_USER_VERBS_CMD_QUERY_PORT) -- | BIT_ULL(IB_USER_VERBS_CMD_ALLOC_PD) -- | BIT_ULL(IB_USER_VERBS_CMD_DEALLOC_PD) -- | BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) -+ dev->uverbs_cmd_mask |= -+ BIT_ULL(IB_USER_VERBS_CMD_CREATE_SRQ) - | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_SRQ) - | BIT_ULL(IB_USER_VERBS_CMD_QUERY_SRQ) - | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_SRQ) - | BIT_ULL(IB_USER_VERBS_CMD_POST_SRQ_RECV) -- | BIT_ULL(IB_USER_VERBS_CMD_CREATE_QP) -- | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_QP) -- | BIT_ULL(IB_USER_VERBS_CMD_QUERY_QP) -- | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_QP) - | BIT_ULL(IB_USER_VERBS_CMD_POST_SEND) - | BIT_ULL(IB_USER_VERBS_CMD_POST_RECV) -- | BIT_ULL(IB_USER_VERBS_CMD_CREATE_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_RESIZE_CQ) -- | BIT_ULL(IB_USER_VERBS_CMD_DESTROY_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_POLL_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_PEEK_CQ) - | BIT_ULL(IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) -- | BIT_ULL(IB_USER_VERBS_CMD_REG_MR) -- | BIT_ULL(IB_USER_VERBS_CMD_DEREG_MR) - | BIT_ULL(IB_USER_VERBS_CMD_CREATE_AH) - | BIT_ULL(IB_USER_VERBS_CMD_MODIFY_AH) - | BIT_ULL(IB_USER_VERBS_CMD_QUERY_AH) -diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c -index 5ba0893f1f017..7c6f534590b19 100644 ---- a/drivers/infiniband/sw/siw/siw_main.c -+++ b/drivers/infiniband/sw/siw/siw_main.c -@@ -330,23 +330,9 @@ static struct siw_device *siw_device_create(struct net_device *netdev) - addrconf_addr_eui48((unsigned char *)&base_dev->node_guid, - addr); - } -- base_dev->uverbs_cmd_mask = -- (1ull << IB_USER_VERBS_CMD_QUERY_DEVICE) | -- (1ull << IB_USER_VERBS_CMD_QUERY_PORT) | -- (1ull << IB_USER_VERBS_CMD_GET_CONTEXT) | -- (1ull << IB_USER_VERBS_CMD_ALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_DEALLOC_PD) | -- (1ull << IB_USER_VERBS_CMD_REG_MR) | -- (1ull << IB_USER_VERBS_CMD_DEREG_MR) | -- (1ull << IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL) | -- (1ull << IB_USER_VERBS_CMD_CREATE_CQ) | -+ base_dev->uverbs_cmd_mask |= - (1ull << IB_USER_VERBS_CMD_POLL_CQ) | - (1ull << IB_USER_VERBS_CMD_REQ_NOTIFY_CQ) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_CQ) | -- (1ull << IB_USER_VERBS_CMD_CREATE_QP) | -- (1ull << IB_USER_VERBS_CMD_QUERY_QP) | -- (1ull << IB_USER_VERBS_CMD_MODIFY_QP) | -- (1ull << IB_USER_VERBS_CMD_DESTROY_QP) | - (1ull << IB_USER_VERBS_CMD_POST_SEND) | - (1ull << IB_USER_VERBS_CMD_POST_RECV) | - (1ull << IB_USER_VERBS_CMD_CREATE_SRQ) | --- -2.43.0 - diff --git a/queue-5.10/sched-unbreak-wakeups.patch b/queue-5.10/sched-unbreak-wakeups.patch deleted file mode 100644 index fc588cabdbb..00000000000 --- a/queue-5.10/sched-unbreak-wakeups.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 11b197bb78bb483ea0beda146466f859fb09f642 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 11 Jun 2021 10:28:11 +0200 -Subject: sched: Unbreak wakeups - -From: Peter Zijlstra - -[ Upstream commit 37aadc687ab441bbcb693ddae613acf9afcea1ab ] - -Remove broken task->state references and let wake_up_process() DTRT. - -The anti-pattern in these patches breaks the ordering of ->state vs -COND as described in the comment near set_current_state() and can lead -to missed wakeups: - - (OoO load, observes RUNNING)<-. - for (;;) { | - t->state = UNINTERRUPTIBLE; | - smp_mb(); ,-----> | (observes !COND) - | / - if (COND) ---------' | COND = 1; - break; `- if (t->state != RUNNING) - wake_up_process(t); // not done - schedule(); // forever waiting - } - t->state = TASK_RUNNING; - -Signed-off-by: Peter Zijlstra (Intel) -Reviewed-by: Davidlohr Bueso -Acked-by: Greg Kroah-Hartman -Acked-by: Will Deacon -Link: https://lore.kernel.org/r/20210611082838.160855222@infradead.org -Stable-dep-of: 2d7198278ece ("qca_spi: Make interrupt remembering atomic") -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/qualcomm/qca_spi.c | 6 ++---- - drivers/usb/gadget/udc/max3420_udc.c | 15 +++++---------- - drivers/usb/host/max3421-hcd.c | 3 +-- - kernel/softirq.c | 2 +- - 4 files changed, 9 insertions(+), 17 deletions(-) - -diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c -index ffa1846f5b4c4..336e5d185f5fe 100644 ---- a/drivers/net/ethernet/qualcomm/qca_spi.c -+++ b/drivers/net/ethernet/qualcomm/qca_spi.c -@@ -670,8 +670,7 @@ qcaspi_intr_handler(int irq, void *data) - struct qcaspi *qca = data; - - qca->intr_req++; -- if (qca->spi_thread && -- qca->spi_thread->state != TASK_RUNNING) -+ if (qca->spi_thread) - wake_up_process(qca->spi_thread); - - return IRQ_HANDLED; -@@ -794,8 +793,7 @@ qcaspi_netdev_xmit(struct sk_buff *skb, struct net_device *dev) - - netif_trans_update(dev); - -- if (qca->spi_thread && -- qca->spi_thread->state != TASK_RUNNING) -+ if (qca->spi_thread) - wake_up_process(qca->spi_thread); - - return NETDEV_TX_OK; -diff --git a/drivers/usb/gadget/udc/max3420_udc.c b/drivers/usb/gadget/udc/max3420_udc.c -index 91c9e9057cff3..d2a2b20cc1ad4 100644 ---- a/drivers/usb/gadget/udc/max3420_udc.c -+++ b/drivers/usb/gadget/udc/max3420_udc.c -@@ -509,8 +509,7 @@ static irqreturn_t max3420_vbus_handler(int irq, void *dev_id) - ? USB_STATE_POWERED : USB_STATE_NOTATTACHED); - spin_unlock_irqrestore(&udc->lock, flags); - -- if (udc->thread_task && -- udc->thread_task->state != TASK_RUNNING) -+ if (udc->thread_task) - wake_up_process(udc->thread_task); - - return IRQ_HANDLED; -@@ -529,8 +528,7 @@ static irqreturn_t max3420_irq_handler(int irq, void *dev_id) - } - spin_unlock_irqrestore(&udc->lock, flags); - -- if (udc->thread_task && -- udc->thread_task->state != TASK_RUNNING) -+ if (udc->thread_task) - wake_up_process(udc->thread_task); - - return IRQ_HANDLED; -@@ -1093,8 +1091,7 @@ static int max3420_wakeup(struct usb_gadget *gadget) - - spin_unlock_irqrestore(&udc->lock, flags); - -- if (udc->thread_task && -- udc->thread_task->state != TASK_RUNNING) -+ if (udc->thread_task) - wake_up_process(udc->thread_task); - return ret; - } -@@ -1117,8 +1114,7 @@ static int max3420_udc_start(struct usb_gadget *gadget, - udc->todo |= UDC_START; - spin_unlock_irqrestore(&udc->lock, flags); - -- if (udc->thread_task && -- udc->thread_task->state != TASK_RUNNING) -+ if (udc->thread_task) - wake_up_process(udc->thread_task); - - return 0; -@@ -1137,8 +1133,7 @@ static int max3420_udc_stop(struct usb_gadget *gadget) - udc->todo |= UDC_START; - spin_unlock_irqrestore(&udc->lock, flags); - -- if (udc->thread_task && -- udc->thread_task->state != TASK_RUNNING) -+ if (udc->thread_task) - wake_up_process(udc->thread_task); - - return 0; -diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c -index b875da01c5309..21b1e5e1958a6 100644 ---- a/drivers/usb/host/max3421-hcd.c -+++ b/drivers/usb/host/max3421-hcd.c -@@ -1139,8 +1139,7 @@ max3421_irq_handler(int irq, void *dev_id) - struct spi_device *spi = to_spi_device(hcd->self.controller); - struct max3421_hcd *max3421_hcd = hcd_to_max3421(hcd); - -- if (max3421_hcd->spi_thread && -- max3421_hcd->spi_thread->state != TASK_RUNNING) -+ if (max3421_hcd->spi_thread) - wake_up_process(max3421_hcd->spi_thread); - if (!test_and_set_bit(ENABLE_IRQ, &max3421_hcd->todo)) - disable_irq_nosync(spi->irq); -diff --git a/kernel/softirq.c b/kernel/softirq.c -index 09229ad822096..ded3dc45680bd 100644 ---- a/kernel/softirq.c -+++ b/kernel/softirq.c -@@ -72,7 +72,7 @@ static void wakeup_softirqd(void) - /* Interrupts are disabled: no need to stop preemption */ - struct task_struct *tsk = __this_cpu_read(ksoftirqd); - -- if (tsk && tsk->state != TASK_RUNNING) -+ if (tsk) - wake_up_process(tsk); - } - --- -2.43.0 - diff --git a/queue-5.10/series b/queue-5.10/series index 7981c819e38..8404c250aec 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -141,7 +141,6 @@ ipv6-prevent-possible-null-deref-in-fib6_nh_init.patch ipv6-prevent-possible-null-dereference-in-rt6_probe.patch xfrm6-check-ip6_dst_idev-return-value-in-xfrm6_get_s.patch netns-make-get_net_ns-handle-zero-refcount-net.patch -sched-unbreak-wakeups.patch qca_spi-make-interrupt-remembering-atomic.patch net-sched-act_api-rely-on-rcu-in-tcf_idr_check_alloc.patch net-sched-act_api-fix-possible-infinite-loop-in-tcf_.patch @@ -161,9 +160,6 @@ dmaengine-ioatdma-fix-error-path-in-ioat3_dma_probe.patch dmaengine-ioatdma-fix-kmemleak-in-ioat_pci_probe.patch dmaengine-ioatdma-fix-missing-kmem_cache_destroy.patch acpica-revert-acpica-avoid-info-mapping-multiple-bar.patch -rdma-remove-elements-in-uverbs_cmd_mask-that-all-dri.patch -rdma-move-more-uverbs_cmd_mask-settings-to-the-core.patch -rdma-check-srq_type-during-create_srq.patch rdma-mlx5-add-check-for-srq-max_sge-attribute.patch alsa-hda-realtek-limit-mic-boost-on-n14ap7.patch drm-radeon-fix-ubsan-warning-in-kv_dpm.c.patch @@ -185,12 +181,6 @@ s390-cpacf-make-use-of-invalid-opcode-produce-a-link.patch tracing-add-module_description-to-preemptirq_delay_t.patch x86-cpu-vfm-add-new-macros-to-work-with-vendor-famil.patch x86-cpu-fix-x86_match_cpu-to-match-just-x86_vendor_i.patch -drm-amdgpu-update-new-memory-types-in-atomfirmware-h.patch -drm-amdgpu-atomfirmware-add-edp-and-integrated-info-.patch -drm-amdgpu-drop-config_drm_amd_dc_dcn3_01-from-atomf.patch -drm-amdgpu-fix-vram-type-and-bandwidth-error-for-ddr.patch -drm-amdgpu-update-atomfirmware-for-dcn3.1-phy-tuning.patch -drm-amdgpu-atomfirmware-add-intergrated-info-v2.3-ta.patch r8169-remove-unneeded-memory-barrier-in-rtl_tx.patch r8169-improve-rtl_tx.patch r8169-improve-rtl8169_start_xmit.patch -- 2.47.3