Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cc8d7e2 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "cnss2: Fix 60s timeout while search regdb.bin failure"

parents 7aa89366 75e8fd3e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -96,3 +96,11 @@ config CNSS_WCN7850
	  CNSS WCN7850 chipset.
	  These changes are needed to support the new hardware architecture
	  for CNSS WCN7850 chipset.

config CNSS_REQ_FW_DIRECT
	bool "Enable request_firmware_direct for firmware or configuration file"
	depends on CNSS2
	help
	  This enables calling request_firmware_direct for firmware or
	  configuration file to avoid 60s timeout while search file under user
	  space failure.
+15 −0
Original line number Diff line number Diff line
@@ -588,3 +588,18 @@ int cnss_bus_get_msi_assignment(struct cnss_plat_data *plat_priv,
		return -EINVAL;
	}
}

bool cnss_bus_is_smmu_s1_enabled(struct cnss_plat_data *plat_priv)
{
	if (!plat_priv)
		return false;

	switch (plat_priv->bus_type) {
	case CNSS_BUS_PCI:
		return cnss_pci_is_smmu_s1_enabled(plat_priv->bus_priv);
	default:
		cnss_pr_err("Unsupported bus type: %d\n",
			    plat_priv->bus_type);
		return false;
	}
}
+1 −0
Original line number Diff line number Diff line
@@ -69,4 +69,5 @@ int cnss_bus_get_msi_assignment(struct cnss_plat_data *plat_priv,
				int *num_vectors,
				u32 *user_base_data,
				u32 *base_vector);
bool cnss_bus_is_smmu_s1_enabled(struct cnss_plat_data *plat_priv);
#endif /* _CNSS_BUS_H */
+12 −0
Original line number Diff line number Diff line
@@ -2485,6 +2485,18 @@ int cnss_minidump_remove_region(struct cnss_plat_data *plat_priv,
}
#endif /* CONFIG_QCOM_MINIDUMP */

int cnss_request_firmware_direct(struct cnss_plat_data *plat_priv,
				 const struct firmware **fw_entry,
				 const char *filename)
{
	if (IS_ENABLED(CONFIG_CNSS_REQ_FW_DIRECT))
		return request_firmware_direct(fw_entry, filename,
					       &plat_priv->plat_dev->dev);
	else
		return request_firmware(fw_entry, filename,
					&plat_priv->plat_dev->dev);
}

#if IS_ENABLED(CONFIG_INTERCONNECT)
/**
 * cnss_register_bus_scale() - Setup interconnect voting data
+3 −0
Original line number Diff line number Diff line
@@ -562,4 +562,7 @@ int cnss_get_tcs_info(struct cnss_plat_data *plat_priv);
unsigned int cnss_get_timeout(struct cnss_plat_data *plat_priv,
			      enum cnss_timeout_type);
int cnss_dev_specific_power_on(struct cnss_plat_data *plat_priv);
int cnss_request_firmware_direct(struct cnss_plat_data *plat_priv,
				 const struct firmware **fw_entry,
				 const char *filename);
#endif /* _CNSS_MAIN_H */
Loading