Commit 86343488 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'ipa-autosuspend'



Alex Elder says:

====================
net: ipa: enable automatic suspend

At long last, the first patch in this series enables automatic
suspend managed by the power management core.  The remaining two
just rename things to be "power" oriented rather than "clock"
oriented.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 4af14dba 2775cbc5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
obj-$(CONFIG_QCOM_IPA)	+=	ipa.o

ipa-y			:=	ipa_main.o ipa_clock.o ipa_reg.o ipa_mem.o \
ipa-y			:=	ipa_main.o ipa_power.o ipa_reg.o ipa_mem.o \
				ipa_table.o ipa_interrupt.o gsi.o gsi_trans.o \
				ipa_gsi.o ipa_smp2p.o ipa_uc.o \
				ipa_endpoint.o ipa_cmd.o ipa_modem.o \
+10 −10
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ struct icc_path;
struct net_device;
struct platform_device;

struct ipa_clock;
struct ipa_power;
struct ipa_smp2p;
struct ipa_interrupt;

@@ -36,11 +36,11 @@ struct ipa_interrupt;
 * @nb:			Notifier block used for remoteproc SSR
 * @notifier:		Remoteproc SSR notifier
 * @smp2p:		SMP2P information
 * @clock:		IPA clocking information
 * @power:		IPA power information
 * @table_addr:		DMA address of filter/route table content
 * @table_virt:		Virtual address of filter/route table content
 * @interrupt:		IPA Interrupt information
 * @uc_clocked:		true if clock is active by proxy for microcontroller
 * @uc_powered:		true if power is active by proxy for microcontroller
 * @uc_loaded:		true after microcontroller has reported it's ready
 * @reg_addr:		DMA address used for IPA register access
 * @reg_virt:		Virtual address used for IPA register access
@@ -78,13 +78,13 @@ struct ipa {
	struct notifier_block nb;
	void *notifier;
	struct ipa_smp2p *smp2p;
	struct ipa_clock *clock;
	struct ipa_power *power;

	dma_addr_t table_addr;
	__le64 *table_virt;

	struct ipa_interrupt *interrupt;
	bool uc_clocked;
	bool uc_powered;
	bool uc_loaded;

	dma_addr_t reg_addr;
@@ -134,11 +134,11 @@ struct ipa {
 *
 * Activities performed at the init stage can be done without requiring
 * any access to IPA hardware.  Activities performed at the config stage
 * require the IPA clock to be running, because they involve access
 * to IPA registers.  The setup stage is performed only after the GSI
 * hardware is ready (more on this below).  The setup stage allows
 * the AP to perform more complex initialization by issuing "immediate
 * commands" using a special interface to the IPA.
 * require IPA power, because they involve access to IPA registers.
 * The setup stage is performed only after the GSI hardware is ready
 * (more on this below).  The setup stage allows the AP to perform
 * more complex initialization by issuing "immediate commands" using
 * a special interface to the IPA.
 *
 * This function, @ipa_setup(), starts the setup stage.
 *
+2 −2
Original line number Diff line number Diff line
@@ -513,7 +513,7 @@ static const struct ipa_interconnect_data ipa_interconnect_data[] = {
};

/* Clock and interconnect configuration data for an SoC having IPA v3.1 */
static const struct ipa_clock_data ipa_clock_data = {
static const struct ipa_power_data ipa_power_data = {
	.core_clock_rate	= 16 * 1000 * 1000,	/* Hz */
	.interconnect_count	= ARRAY_SIZE(ipa_interconnect_data),
	.interconnect_data	= ipa_interconnect_data,
@@ -529,5 +529,5 @@ const struct ipa_data ipa_data_v3_1 = {
	.endpoint_data	= ipa_gsi_endpoint_data,
	.resource_data	= &ipa_resource_data,
	.mem_data	= &ipa_mem_data,
	.clock_data	= &ipa_clock_data,
	.power_data	= &ipa_power_data,
};
+2 −2
Original line number Diff line number Diff line
@@ -394,7 +394,7 @@ static const struct ipa_interconnect_data ipa_interconnect_data[] = {
};

/* Clock and interconnect configuration data for an SoC having IPA v3.5.1 */
static const struct ipa_clock_data ipa_clock_data = {
static const struct ipa_power_data ipa_power_data = {
	.core_clock_rate	= 75 * 1000 * 1000,	/* Hz */
	.interconnect_count	= ARRAY_SIZE(ipa_interconnect_data),
	.interconnect_data	= ipa_interconnect_data,
@@ -414,5 +414,5 @@ const struct ipa_data ipa_data_v3_5_1 = {
	.endpoint_data	= ipa_gsi_endpoint_data,
	.resource_data	= &ipa_resource_data,
	.mem_data	= &ipa_mem_data,
	.clock_data	= &ipa_clock_data,
	.power_data	= &ipa_power_data,
};
+2 −2
Original line number Diff line number Diff line
@@ -382,7 +382,7 @@ static const struct ipa_interconnect_data ipa_interconnect_data[] = {
};

/* Clock and interconnect configuration data for an SoC having IPA v4.11 */
static const struct ipa_clock_data ipa_clock_data = {
static const struct ipa_power_data ipa_power_data = {
	.core_clock_rate	= 60 * 1000 * 1000,	/* Hz */
	.interconnect_count	= ARRAY_SIZE(ipa_interconnect_data),
	.interconnect_data	= ipa_interconnect_data,
@@ -397,5 +397,5 @@ const struct ipa_data ipa_data_v4_11 = {
	.endpoint_data	= ipa_gsi_endpoint_data,
	.resource_data	= &ipa_resource_data,
	.mem_data	= &ipa_mem_data,
	.clock_data	= &ipa_clock_data,
	.power_data	= &ipa_power_data,
};
Loading