Skip to content

Commit

Permalink
Linux 5.10.146
Browse files Browse the repository at this point in the history
bf9f79d ext4: make directory inode spreading reflect flexbg size
79afcb0 ext4: limit the number of retries after discarding preallocations blocks
65e3689 ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
9de5724 devdax: Fix soft-reservation memory description
763e8e1 i2c: mlxbf: Fix frequency calculation
9213572 i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
934dfa5 i2c: mlxbf: incorrect base address passed during io write
ce06a8b i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible
6eca11c workqueue: don't skip lockdep work dependency in cancel_work_sync()
89d333a drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
acded61 drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
af5a18e drm/amd/display: Limit user regamma to a valid value
70965cd drm/amdgpu: use dirty framebuffer helper
7325428 drm/gma500: Fix BUG: sleeping function called from invalid context errors
db2e2e7 Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
50d0644 cifs: always initialize struct msghdr smb_msg completely
a2399ee cifs: use discard iterator to discard unneeded network data more efficiently
84554ca drm/amdgpu: Fix check for RAS support
4d17c3e vfio/type1: fix vaddr_get_pfns() return in vfio_pin_page_external()
3c85920 s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
2317e01 serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
90e4afb serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
0eecb1f serial: Create uart_xmit_advance()
bb811d6 drm/amd/amdgpu: fixing read wrong pf2vf data in SRIOV
d1d13ef selftests: forwarding: add shebang for sch_red.sh
e50df9f net: sched: fix possible refcount leak in tc_new_tfilter()
90ff447 net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
ddbdd4f net/smc: Stop the CLC flow if no link to map buffers on
e12fdf3 drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff()
6ddb32d perf kcore_copy: Do not check /proc/modules is unchanged
da0097b perf jit: Include program header in ELF files
b51bd97 can: gs_usb: gs_can_open(): fix race dev->can.state condition
b576a19 netfilter: ebtables: fix memory leak when blob is malformed
029fef5 netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain()
ec0508c netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain()
c14a082 net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
2cb1196 net/sched: taprio: avoid disabling offload when it was never enabled
21e64cc net: socket: remove register_gifconf
614ec13 net: enetc: move enetc_set_psfp() out of the common enetc_set_features()
d4e4f0c wireguard: netlink: avoid variable-sized memcpy on sockaddr
e064164 wireguard: ratelimiter: disable timings test by default
8cfa865 net: ipa: properly limit modem routing table use
b36787a net: ipa: kill IPA_TABLE_ENTRY_SIZE
aa0f742 net: ipa: DMA addresses are nicely aligned
cbeb84b net: ipa: avoid 64-bit modulus
031cb3e net: ipa: fix table alignment requirement
1c650b0 net: ipa: fix assumptions about DMA address size
e479442 of: mdio: Add of_node_put() when breaking out of for_each_xx
0ef8615 drm/hisilicon: Add depends on MMU
e396907 drm/hisilicon/hibmc: Allow to be built if COMPILE_TEST is enabled
af3383c sfc: fix null pointer dereference in efx_hard_start_xmit
cda441c sfc: fix TX channel offset when using legacy interrupts
bad5494 i40e: Fix set max_tx_rate when it is lower than 1 Mbps
5d6a5c7 i40e: Fix VF set max MTU size
ee7aab0 iavf: Fix set max MTU size with port VLAN and jumbo frames
89fea55 iavf: Fix bad page state
144e4e9 MIPS: Loongson32: Fix PHY-mode being left unspecified
c1642e2 MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
be18a65 drm/panel: simple: Fix innolux_g121i1_l01 bus_format
35c5587 net: team: Unsync device addresses on ndo_stop
caddf5a net: bonding: Unsync device addresses on ndo_stop
cd6fe33 net: bonding: Share lacpdu_mcast_addr definition
001a1a1 scsi: mpt3sas: Fix return value check of dma_get_required_mask()
629b0ba scsi: mpt3sas: Force PCIe scatterlist allocations to be within same 4 GB region
d4d2d6b net: phy: aquantia: wait for the suspend/resume operations to finish
da222b3 net: core: fix flow symmetric hash
1a573a7 net: let flow have same hash in two directions
91887b8 ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
e1f0f82 iavf: Fix cached head and tail value for iavf_get_tx_pending
5c39f16 netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
1d624e8 netfilter: nf_conntrack_irc: Tighten matching on DCC message
b7e2b6c netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
eec16e6 dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get()
d089441 drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks
84e3556 xfs: validate inode fork size against fork format
aa543a0 xfs: reorder iunlink remove operation in xfs_ifree
1cccdb2 xfs: fix up non-directory creation in SGID directories
85350a7 interconnect: qcom: icc-rpmh: Add BCMs to commit list in pre_aggregate
815eb29 KVM: SEV: add cache flush to solve SEV cache incoherency issues
31508f6 mm/slub: fix to return errno if kmalloc() fails
fef1eb6 can: flexcan: flexcan_mailbox_read() fix return value for drop = true
d8ac2a0 riscv: fix a nasty sigreturn bug...
e5c9ede gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
9d8b5b5 gpio: mockup: fix NULL pointer dereference when removing debugfs
2cb0d34 wifi: mt76: fix reading current per-tid starting sequence number for aggregation
3255604 efi: libstub: check Shim mode using MokSBStateRT
870b3ac efi: x86: Wipe setup_data on pure EFI boot
75dc7a7 media: flexcop-usb: fix endpoint type check
e1ee0ed iommu/vt-d: Check correct capability for sagaw determination
5edb506 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
adb2895 ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
9083ff4 ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
892c438 ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
5bda114 ALSA: hda/realtek: Re-arrange quirk table entries
297bfcb ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop
730800e ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
77c7e9e ALSA: hda: add Intel 5 Series / 3400 PCI DID
bbe6962 ALSA: hda/tegra: set depop delay for tegra
8c5ba36 USB: serial: option: add Quectel RM520N
0f30cc3 USB: serial: option: add Quectel BG95 0x0203 composition
f2eb90d USB: core: Fix RST error in hub.c
e9a18b6 arm64/bti: Disable in kernel BTI when cross section thunks are broken
04801e4 arm64: Restrict ARM64_BTI_KERNEL to clang 12.0.0 and newer
66390d8 Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
883e124 vfio/type1: Unpin zero pages
3f02104 vfio/type1: Prepare for batched pinning with struct vfio_batch
0b2ae29 vfio/type1: Change success value of vaddr_get_pfn()
2630239 Revert "usb: add quirks for Lenovo OneLink+ Dock"
8de34b7 usb: cdns3: fix issue with rearming ISO OUT endpoint
8d0f57e usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer
8567aa0 usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
0c625e6 usb: add quirks for Lenovo OneLink+ Dock
bc7b71e tty: serial: atmel: Preserve previous USART mode if RS485 disabled
b405166 serial: atmel: remove redundant assignment in rs485_config
f4f46f8 mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure
000363f usb: xhci-mtk: relax TT periodic bandwidth allocation
8ec5a47 usb: xhci-mtk: allow multiple Start-Split in a microframe
f772124 usb: dwc3: Issue core soft reset before enabling run/stop
b487ff6 usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device
4669380 usb: typec: intel_pmc_mux: Update IOM port status offset for AlderLake
21d2814 drm/amdgpu: make sure to init common IP before gmc
b6d91d0 drm/amdgpu: Separate vf2pf work item init from virt data exchange
93eff51 drm/amdgpu: indirect register access for nv12 sriov
05524b7 drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega
  • Loading branch information
jgudec committed Feb 22, 2023
1 parent 6cac838 commit a172e48
Show file tree
Hide file tree
Showing 125 changed files with 1,062 additions and 607 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 145
SUBLEVEL = 146
EXTRAVERSION =
NAME = Dare mighty things

Expand Down
5 changes: 4 additions & 1 deletion arch/arm64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1713,7 +1713,10 @@ config ARM64_BTI_KERNEL
depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
depends on !CC_IS_GCC || GCC_VERSION >= 100100
depends on !(CC_IS_CLANG && GCOV_KERNEL)
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
depends on !CC_IS_GCC
# https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
# https://bugs.llvm.org/show_bug.cgi?id=46258
depends on !CFI_CLANG || CLANG_VERSION >= 120000
depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS)
Expand Down
1 change: 1 addition & 0 deletions arch/mips/lantiq/clk.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ struct clk *clk_get_io(void)
{
return &cpu_clk_generic[2];
}
EXPORT_SYMBOL_GPL(clk_get_io);

struct clk *clk_get_ppe(void)
{
Expand Down
16 changes: 8 additions & 8 deletions arch/mips/loongson32/common/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
if (plat_dat->bus_id) {
__raw_writel(__raw_readl(LS1X_MUX_CTRL0) | GMAC1_USE_UART1 |
GMAC1_USE_UART0, LS1X_MUX_CTRL0);
switch (plat_dat->interface) {
switch (plat_dat->phy_interface) {
case PHY_INTERFACE_MODE_RGMII:
val &= ~(GMAC1_USE_TXCLK | GMAC1_USE_PWM23);
break;
Expand All @@ -107,12 +107,12 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
break;
default:
pr_err("unsupported mii mode %d\n",
plat_dat->interface);
plat_dat->phy_interface);
return -ENOTSUPP;
}
val &= ~GMAC1_SHUT;
} else {
switch (plat_dat->interface) {
switch (plat_dat->phy_interface) {
case PHY_INTERFACE_MODE_RGMII:
val &= ~(GMAC0_USE_TXCLK | GMAC0_USE_PWM01);
break;
Expand All @@ -121,7 +121,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
break;
default:
pr_err("unsupported mii mode %d\n",
plat_dat->interface);
plat_dat->phy_interface);
return -ENOTSUPP;
}
val &= ~GMAC0_SHUT;
Expand All @@ -131,7 +131,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
plat_dat = dev_get_platdata(&pdev->dev);

val &= ~PHY_INTF_SELI;
if (plat_dat->interface == PHY_INTERFACE_MODE_RMII)
if (plat_dat->phy_interface == PHY_INTERFACE_MODE_RMII)
val |= 0x4 << PHY_INTF_SELI_SHIFT;
__raw_writel(val, LS1X_MUX_CTRL1);

Expand All @@ -146,9 +146,9 @@ static struct plat_stmmacenet_data ls1x_eth0_pdata = {
.bus_id = 0,
.phy_addr = -1,
#if defined(CONFIG_LOONGSON1_LS1B)
.interface = PHY_INTERFACE_MODE_MII,
.phy_interface = PHY_INTERFACE_MODE_MII,
#elif defined(CONFIG_LOONGSON1_LS1C)
.interface = PHY_INTERFACE_MODE_RMII,
.phy_interface = PHY_INTERFACE_MODE_RMII,
#endif
.mdio_bus_data = &ls1x_mdio_bus_data,
.dma_cfg = &ls1x_eth_dma_cfg,
Expand Down Expand Up @@ -186,7 +186,7 @@ struct platform_device ls1x_eth0_pdev = {
static struct plat_stmmacenet_data ls1x_eth1_pdata = {
.bus_id = 1,
.phy_addr = -1,
.interface = PHY_INTERFACE_MODE_MII,
.phy_interface = PHY_INTERFACE_MODE_MII,
.mdio_bus_data = &ls1x_mdio_bus_data,
.dma_cfg = &ls1x_eth_dma_cfg,
.has_gmac = 1,
Expand Down
2 changes: 2 additions & 0 deletions arch/riscv/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ SYSCALL_DEFINE0(rt_sigreturn)
if (restore_altstack(&frame->uc.uc_stack))
goto badframe;

regs->cause = -1UL;

return regs->a0;

badframe:
Expand Down
1 change: 1 addition & 0 deletions arch/x86/include/asm/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -1275,6 +1275,7 @@ struct kvm_x86_ops {
int (*mem_enc_op)(struct kvm *kvm, void __user *argp);
int (*mem_enc_reg_region)(struct kvm *kvm, struct kvm_enc_region *argp);
int (*mem_enc_unreg_region)(struct kvm *kvm, struct kvm_enc_region *argp);
void (*guest_memory_reclaimed)(struct kvm *kvm);

int (*get_msr_feature)(struct kvm_msr_entry *entry);

Expand Down
8 changes: 8 additions & 0 deletions arch/x86/kvm/svm/sev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1177,6 +1177,14 @@ void sev_hardware_teardown(void)
sev_flush_asids();
}

void sev_guest_memory_reclaimed(struct kvm *kvm)
{
if (!sev_guest(kvm))
return;

wbinvd_on_all_cpus();
}

void pre_sev_run(struct vcpu_svm *svm, int cpu)
{
struct svm_cpu_data *sd = per_cpu(svm_data, cpu);
Expand Down
1 change: 1 addition & 0 deletions arch/x86/kvm/svm/svm.c
Original file line number Diff line number Diff line change
Expand Up @@ -4325,6 +4325,7 @@ static struct kvm_x86_ops svm_x86_ops __initdata = {
.mem_enc_op = svm_mem_enc_op,
.mem_enc_reg_region = svm_register_enc_region,
.mem_enc_unreg_region = svm_unregister_enc_region,
.guest_memory_reclaimed = sev_guest_memory_reclaimed,

.can_emulate_instruction = svm_can_emulate_instruction,

Expand Down
2 changes: 2 additions & 0 deletions arch/x86/kvm/svm/svm.h
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,8 @@ int svm_register_enc_region(struct kvm *kvm,
struct kvm_enc_region *range);
int svm_unregister_enc_region(struct kvm *kvm,
struct kvm_enc_region *range);
void sev_guest_memory_reclaimed(struct kvm *kvm);

void pre_sev_run(struct vcpu_svm *svm, int cpu);
int __init sev_hardware_setup(void);
void sev_hardware_teardown(void);
Expand Down
6 changes: 6 additions & 0 deletions arch/x86/kvm/x86.c
Original file line number Diff line number Diff line change
Expand Up @@ -8875,6 +8875,12 @@ void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
kvm_make_all_cpus_request(kvm, KVM_REQ_APIC_PAGE_RELOAD);
}

void kvm_arch_guest_memory_reclaimed(struct kvm *kvm)
{
if (kvm_x86_ops.guest_memory_reclaimed)
kvm_x86_ops.guest_memory_reclaimed(kvm);
}

void kvm_vcpu_reload_apic_access_page(struct kvm_vcpu *vcpu)
{
if (!lapic_in_kernel(vcpu))
Expand Down
1 change: 1 addition & 0 deletions drivers/dax/hmem/device.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ void hmem_register_device(int target_nid, struct resource *r)
.start = r->start,
.end = r->end,
.flags = IORESOURCE_MEM,
.desc = IORES_DESC_SOFT_RESERVED,
};
struct platform_device *pdev;
struct memregion_info info;
Expand Down
6 changes: 3 additions & 3 deletions drivers/dma/ti/k3-udma-private.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ struct udma_dev *of_xudma_dev_get(struct device_node *np, const char *property)
}

pdev = of_find_device_by_node(udma_node);
if (np != udma_node)
of_node_put(udma_node);

if (!pdev) {
pr_debug("UDMA device not found\n");
return ERR_PTR(-EPROBE_DEFER);
}

if (np != udma_node)
of_node_put(udma_node);

ud = platform_get_drvdata(pdev);
if (!ud) {
pr_debug("UDMA has not been probed\n");
Expand Down
8 changes: 4 additions & 4 deletions drivers/firmware/efi/libstub/secureboot.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ static const efi_char16_t efi_SetupMode_name[] = L"SetupMode";

/* SHIM variables */
static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID;
static const efi_char16_t shim_MokSBState_name[] = L"MokSBState";
static const efi_char16_t shim_MokSBState_name[] = L"MokSBStateRT";

/*
* Determine whether we're in secure boot mode.
Expand Down Expand Up @@ -53,8 +53,8 @@ enum efi_secureboot_mode efi_get_secureboot(void)

/*
* See if a user has put the shim into insecure mode. If so, and if the
* variable doesn't have the runtime attribute set, we might as well
* honor that.
* variable doesn't have the non-volatile attribute set, we might as
* well honor that.
*/
size = sizeof(moksbstate);
status = get_efi_var(shim_MokSBState_name, &shim_guid,
Expand All @@ -63,7 +63,7 @@ enum efi_secureboot_mode efi_get_secureboot(void)
/* If it fails, we don't care why. Default to secure */
if (status != EFI_SUCCESS)
goto secure_boot_enabled;
if (!(attr & EFI_VARIABLE_RUNTIME_ACCESS) && moksbstate == 1)
if (!(attr & EFI_VARIABLE_NON_VOLATILE) && moksbstate == 1)
return efi_secureboot_mode_disabled;

secure_boot_enabled:
Expand Down
7 changes: 7 additions & 0 deletions drivers/firmware/efi/libstub/x86-stub.c
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,13 @@ efi_status_t __efiapi efi_pe_entry(efi_handle_t handle,
hdr->ramdisk_image = 0;
hdr->ramdisk_size = 0;

/*
* Disregard any setup data that was provided by the bootloader:
* setup_data could be pointing anywhere, and we have no way of
* authenticating or validating the payload.
*/
hdr->setup_data = 0;

efi_stub_entry(handle, sys_table_arg, boot_params);
/* not reached */

Expand Down
2 changes: 1 addition & 1 deletion drivers/gpio/gpio-mockup.c
Original file line number Diff line number Diff line change
Expand Up @@ -604,9 +604,9 @@ static int __init gpio_mockup_init(void)

static void __exit gpio_mockup_exit(void)
{
gpio_mockup_unregister_pdevs();
debugfs_remove_recursive(gpio_mockup_dbg_dir);
platform_driver_unregister(&gpio_mockup_driver);
gpio_mockup_unregister_pdevs();
}

module_init(gpio_mockup_init);
Expand Down
5 changes: 3 additions & 2 deletions drivers/gpio/gpiolib-cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1769,7 +1769,6 @@ static int lineevent_create(struct gpio_device *gdev, void __user *ip)
ret = -ENODEV;
goto out_free_le;
}
le->irq = irq;

if (eflags & GPIOEVENT_REQUEST_RISING_EDGE)
irqflags |= test_bit(FLAG_ACTIVE_LOW, &desc->flags) ?
Expand All @@ -1783,7 +1782,7 @@ static int lineevent_create(struct gpio_device *gdev, void __user *ip)
init_waitqueue_head(&le->wait);

/* Request a thread to read the events */
ret = request_threaded_irq(le->irq,
ret = request_threaded_irq(irq,
lineevent_irq_handler,
lineevent_irq_thread,
irqflags,
Expand All @@ -1792,6 +1791,8 @@ static int lineevent_create(struct gpio_device *gdev, void __user *ip)
if (ret)
goto out_free_le;

le->irq = irq;

fd = get_unused_fd_flags(O_RDONLY | O_CLOEXEC);
if (fd < 0) {
ret = fd;
Expand Down
23 changes: 20 additions & 3 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -2047,6 +2047,11 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
amdgpu_vf_error_put(adev, AMDGIM_ERROR_VF_ATOMBIOS_INIT_FAIL, 0, 0);
return r;
}

/*get pf2vf msg info at it's earliest time*/
if (amdgpu_sriov_vf(adev))
amdgpu_virt_init_data_exchange(adev);

}
}

Expand Down Expand Up @@ -2174,8 +2179,20 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
}
adev->ip_blocks[i].status.sw = true;

/* need to do gmc hw init early so we can allocate gpu mem */
if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) {
/* need to do common hw init early so everything is set up for gmc */
r = adev->ip_blocks[i].version->funcs->hw_init((void *)adev);
if (r) {
DRM_ERROR("hw_init %d failed %d\n", i, r);
goto init_failed;
}
adev->ip_blocks[i].status.hw = true;
} else if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) {
/* need to do gmc hw init early so we can allocate gpu mem */
/* Try to reserve bad pages early */
if (amdgpu_sriov_vf(adev))
amdgpu_virt_exchange_data(adev);

r = amdgpu_device_vram_scratch_init(adev);
if (r) {
DRM_ERROR("amdgpu_vram_scratch_init failed %d\n", r);
Expand Down Expand Up @@ -2753,8 +2770,8 @@ static int amdgpu_device_ip_reinit_early_sriov(struct amdgpu_device *adev)
int i, r;

static enum amd_ip_block_type ip_order[] = {
AMD_IP_BLOCK_TYPE_GMC,
AMD_IP_BLOCK_TYPE_COMMON,
AMD_IP_BLOCK_TYPE_GMC,
AMD_IP_BLOCK_TYPE_PSP,
AMD_IP_BLOCK_TYPE_IH,
};
Expand Down
2 changes: 2 additions & 0 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_damage_helper.h>
#include <drm/drm_edid.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_fb_helper.h>
Expand Down Expand Up @@ -498,6 +499,7 @@ bool amdgpu_display_ddc_probe(struct amdgpu_connector *amdgpu_connector,
static const struct drm_framebuffer_funcs amdgpu_fb_funcs = {
.destroy = drm_gem_fb_destroy,
.create_handle = drm_gem_fb_create_handle,
.dirty = drm_atomic_helper_dirtyfb,
};

uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev,
Expand Down
15 changes: 6 additions & 9 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
Original file line number Diff line number Diff line change
Expand Up @@ -1979,15 +1979,12 @@ int amdgpu_ras_request_reset_on_boot(struct amdgpu_device *adev,
return 0;
}

static int amdgpu_ras_check_asic_type(struct amdgpu_device *adev)
static bool amdgpu_ras_asic_supported(struct amdgpu_device *adev)
{
if (adev->asic_type != CHIP_VEGA10 &&
adev->asic_type != CHIP_VEGA20 &&
adev->asic_type != CHIP_ARCTURUS &&
adev->asic_type != CHIP_SIENNA_CICHLID)
return 1;
else
return 0;
return adev->asic_type == CHIP_VEGA10 ||
adev->asic_type == CHIP_VEGA20 ||
adev->asic_type == CHIP_ARCTURUS ||
adev->asic_type == CHIP_SIENNA_CICHLID;
}

/*
Expand All @@ -2006,7 +2003,7 @@ static void amdgpu_ras_check_supported(struct amdgpu_device *adev,
*supported = 0;

if (amdgpu_sriov_vf(adev) || !adev->is_atom_fw ||
amdgpu_ras_check_asic_type(adev))
!amdgpu_ras_asic_supported(adev))
return;

if (amdgpu_atomfirmware_mem_ecc_supported(adev)) {
Expand Down
Loading

0 comments on commit a172e48

Please sign in to comment.