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

Commit e195400e authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Promotion of kernel.lnx.4.4-160624.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1032949   I3c64e6b96d569b4dc61805a53a0835db9142d55e   usb: gadget: mtp: Increase RX transfer length to 1M
1030377   I867a4621315108aff17be852cfaadcfa945566a7   scsi: ufs-debugfs: add error state
1004236   I54fef744bdf08a346e4aef22c1280e928cdaf5d2   diag: Add support for multi connection logging
1032131   I35a8307001ac14e3ade733d5f41d6231fe63ebd0   soc: qcom: smem: Renaming smem item SMEM_SMEM_STATIC_LOG
1032889   I02fa5e3e25427c0ca474455fa2d2be9eb6ea4bd9   cfg80211: Bypass checkin the CHAN_RADAR if DFS_OFFLOAD i
1033849   Iadbaa5e71e4b220208a7275bf039a2a413349e42   arm: mm: fix pte allocation with CONFIG_FORCE_PAGES feat
1027585   I67eb4f162f944bbf4d9e55fb8fe93759e6b8ff91   ASoC: msm: qdsp6v2: DAP: Add check to validate data leng
1033060   I437fe28725d5c1ed06fe8b9735b04bbd84e92db1   regulator: cpr3-util: init panic notifier for CPRh contr
1033031   I2bbf6884cf83457bfb7e5369bb97614bd4beb150   clk: msm: osm: add panic handler to dump status register
1033830   I1b8a1492062bb9532700122878618989e5148647   Kconfig: Add menu choice option to reclaim virtual memor
1033849   Ie209fce6c310f911d8cf02d977e226660684a6ab   arm: mm: consider only lowmem regions while remap
1023723   Ifd1df8ee04238db0338a7dd70eb5097af2d0eb62   msm: mdss: fix multi-rect validation properties
1033060   Ifdd03f27ed1135acd4470d891e1b5aca4a11dd65   ARM: dts: msm: add CPR panic register configuration for
1033850   Ieac0932d146f7fd992db9fd834b0e9aa3822f891   mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask
1004533   Id01b4f959c134af48c509ade61c7ec46401b4e70   regulator: cpr3: Add panic handler to dump register cont
1030443   Ic7204921fc82d5aea31c58fcbb668b296794b1c1   msm: mdss: Add dereference check for xlog vbif dump
1030443   Ie3970f29c7f1800c4457dc71a3f36a54e1cbdb91   ARM: dts: msm: Enable v4l2 rotator node on msm8996
1023326   Icc20967019996616a4eb2ebba6df47e7bc7188d7   regulator: Add snapshot of DT documentation for rpm-smd-
1033849   I9612a99b8e05a022f5ba7e568f21307cf66b5667   arm: Allow remapping lowmem as 4K pages

Change-Id: I24aebc843a4cec8478f27027ae2b130ec09d8e67
CRs-Fixed: 1032131, 1033031, 1032949, 1032889, 1004236, 1033830, 1030443, 1030377, 1033849, 1023326, 1023723, 1004533, 1033850, 1033060, 1027585
parents 402636f9 fb5706b7
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -183,6 +183,19 @@ Platform independent properties:
		    This is the voltage that vdd-supply must be set to when
		    performing an aging measurement.

- qcom,cpr-panic-reg-addr-list
	Usage:      optional
	Value type: <prop-encoded-array>
	Definition: Array of register addresses to be dumped when device resets.

- qcom,cpr-panic-reg-name-list
	Usage:      optional, though only meaningful if
		    qcom,cpr-panic-reg-addr-list is specified
	Value type: <prop-encoded-array>
	Definition: Address names. Must be specified in the same order
		    as the corresponding addresses are specified in
		    the qcom,cpr-panic-reg-addr-list property.

=================================================
Second Level Nodes - CPR Threads for a Controller
=================================================
+7 −0
Original line number Diff line number Diff line
@@ -407,6 +407,13 @@ apc_cpr: cpr4-ctrl@b018000 {
	qcom,cpr-step-quot-fixed = <16>;
	qcom,cpr-voltage-settling-time = <1600>;

	qcom,cpr-panic-reg-addr-list =
			<0xb1d2c18 0xb1d2900 0x0b1112b0 0xb018798>;
	qcom,cpr-panic-reg-name-list =
			"CCI_SAW4_PMIC_STS", "CCI_SAW4_VCTL",
			"APCS_ALIAS0_APM_CTLER_STATUS",
			"APCS0_CPR_CORE_ADJ_MODE_REG";

	thread@0 {
		qcom,cpr-thread-id = <0>;
		qcom,cpr-consecutive-up = <1>;
+328 −0
Original line number Diff line number Diff line
Qualcomm RPM Regulators

rpm-regulator-smd is a regulator driver which supports regulators inside of
PMICs which are controlled by the RPM processor.  Communication with the RPM
processor takes place over SMD.

Required structure:
- RPM regulators must be described in two levels of devices nodes.  The first
	level describes the interface with the RPM.  The second level describes
	properties of one regulator framework interface (of potentially many) to
	the regulator.

[First Level Nodes]

Required properties:
- compatible:          Must be "qcom,rpm-smd-regulator-resource"
- qcom,resource-name:  Resource name string for this regulator to be used in RPM
			transactions.  Length is 4 characters max.
- qcom,resource-id:    Resource instance ID for this regulator to be used in RPM
			transactions.
- qcom,regulator-type: Type of this regulator.  Supported values are:
				0 = LDO
				1 = SMPS
				2 = VS
				3 = NCP
				4 = Buck or Boost (BoB)

Optional properties:
- qcom,allow-atomic:   Flag specifying if atomic access is allowed for this
			regulator.  Supported values are:
				0 or not present = mutex locks used
				1 = spinlocks used
- qcom,enable-time:    Time in us to delay after enabling the regulator
- qcom,hpm-min-load:   Load current in uA which corresponds to the minimum load
			which requires the regulator to be in high power mode.
- qcom,apps-only:      Flag which indicates that the regulator only has
			consumers on the application processor. If this flag
			is specified, then voltage and current updates are
			only sent to the RPM if the regulator is enabled.
- qcom,always-wait-for-ack:   Flag which indicates that the application
			processor must wait for an ACK or a NACK from the RPM
			for every request sent for this regulator including
			those which are for a strictly lower power state.

[Second Level Nodes]

Required properties:
- compatible:          Must be "qcom,rpm-smd-regulator"
- regulator-name:      A string used as a descriptive name for regulator outputs
- qcom,set:            Specifies which sets that requests made with this
			regulator interface should be sent to.  Regulator
			requests sent in the active set take effect immediately.
			Requests sent in the sleep set take effect when the Apps
			processor transitions into RPM assisted power collapse.
			Supported values are:
				1 = Active set only
				2 = Sleep set only
				3 = Both active and sleep sets



Optional properties:
- parent-supply:               phandle to the parent supply/regulator node
- qcom,system-load:            Load in uA present on regulator that is not
				captured by any consumer request
- qcom,use-voltage-corner:     Flag that signifies if regulator_set_voltage
				calls should modify the corner parameter instead
				of the voltage parameter.  When used, voltages
				specified inside of the regulator framework
				represent corners that have been incremented by
				1.  This value shift is necessary to work around
				limitations in the regulator framework which
				treat 0 uV as an error.
- qcom,use-voltage-floor-corner:  Flag that signifies if regulator_set_voltage
				calls should modify the floor corner parameter
				instead of the voltage parameter.  When used,
				voltages specified inside of the regulator
				framework represent corners that have been
				incremented by 1.  The properties
				qcom,use-voltage-corner and
				qcom,use-voltage-floor-corner are mutually
				exclusive.  Only one may be specified for a
				given regulator.
- qcom,use-voltage-level:      Flag that signifies if regulator_set_voltage
				calls should modify the level parameter instead
				of the voltage parameter.
- qcom,use-voltage-floor-level:   Flag that signifies if regulator_set_voltage
				calls should modify the floor level parameter
				instead of the voltage parameter.
				The properties qcom,use-voltage-level and
				qcom,use-voltage-floor-level are mutually
				exclusive.  Only one may be specified for a
				given regulator.
- qcom,use-pin-ctrl-voltage1:  Flag which indicates that updates to voltage
				should be sent to the pin control voltage 1
				parameter. Only one pin may be specified per
				regulator. This property only applies to BoB
				type regulators.
- qcom,use-pin-ctrl-voltage2:  Flag which indicates that updates to voltage
				should be sent to the pin control voltage 2
				parameter. Only one pin may be specified per
				regulator. This property only applies to BoB
				type regulators.
- qcom,use-pin-ctrl-voltage3:  Flag which indicates that updates to voltage
				should be sent to the pin control voltage 3
				parameter. Only one pin may be specified per
				regulator. This property only applies to BoB
				type regulators.
- qcom,always-send-voltage:    Flag which indicates that updates to the
				voltage, voltage corner or voltage level set
				point should always be sent immediately to the
				RPM. If this flag is not specified, then
				voltage set point updates are only sent if the
				given regulator has also been enabled by a
				Linux consumer.
- qcom,always-send-current:    Flag which indicates that updates to the load
				current should always be sent immediately to the
				RPM.  If this flag is not specified, then load
				current updates are only sent if the given
				regulator has also been enabled by a Linux
				consumer.
- qcom,send-defaults:          Boolean flag which indicates that the initial
				parameter values should be sent to the RPM
				before consumers make their own requests.  If
				this flag is not specified, then initial
				parameters values will only be sent after some
				consumer makes a request.
- qcom,enable-with-pin-ctrl:   Double in which the first element corresponds to
				the pin control enable parameter value to send
				when all consumers have requested the regulator
				to be disabled.  The second element corresponds
				to the pin control enable parameter value to
				send when any consumer has requested the
				regulator to be enabled.  Each element supports
				the same set of values as the
				qcom,init-pin-ctrl-enable property listed below.

The following properties specify initial values for parameters to be sent to the
RPM in regulator requests.
- qcom,init-enable:            0 = regulator disabled
			       1 = regulator enabled
- qcom,init-voltage:           Voltage in uV
- qcom,init-current:           Current in mA
- qcom,init-ldo-mode:          Operating mode to be used with LDO regulators
				Supported values are:
					0 = mode determined by current requests
					1 = force HPM (NPM)
- qcom,init-smps-mode:         Operating mode to be used with SMPS regulators
				Supported values are:
					0 = auto; hardware determines mode
					1 = mode determined by current requests
					2 = force HPM (PWM)
- qcom,init-bob-mode:          Operating mode to be used with BoB regulators
				Supported values are:
					0 = pass; use priority order
					1 = force PFM
					2 = auto; hardware determines mode
					3 = force PWM
- qcom,init-pin-ctrl-enable:   Bit mask specifying which hardware pins should be
				used to enable the regulator, if any; supported
				bits are:
					0 = ignore all hardware enable signals
					BIT(0) = follow HW0_EN signal
					BIT(1) = follow HW1_EN signal
					BIT(2) = follow HW2_EN signal
					BIT(3) = follow HW3_EN signal
- qcom,init-pin-ctrl-mode:     Bit mask specifying which hardware pins should be
				used to force the regulator into high power
				mode, if any.  Supported bits are:
					0 = ignore all hardware enable signals
					BIT(0) = follow HW0_EN signal
					BIT(1) = follow HW1_EN signal
					BIT(2) = follow HW2_EN signal
					BIT(3) = follow HW3_EN signal
					BIT(4) = follow PMIC awake state
- qcom,init-pin-ctrl-voltage1: Minimum voltage in micro-volts to use while pin
				control 1 is enabled. This property only
				applies to BoB type regulators.
- qcom,init-pin-ctrl-voltage2: Minimum voltage in micro-volts to use while pin
				control 2 is enabled. This property only
				applies to BoB type regulators.
- qcom,init-pin-ctrl-voltage3: Minimum voltage in micro-volts to use while pin
				control 3 is enabled. This property only
				applies to BoB type regulators.
- qcom,init-frequency:         Switching frequency divisor for SMPS regulators.
				Supported values are n = 0 to 31 where
				freq = 19.2 MHz / (n + 1).
- qcom,init-head-room:         Voltage head room in mV required for the
				regulator.  This head room value should be used
				in situations where the device connected to the
				output of the regulator has low noise tolerance.
				Note that the RPM independently enforces a
				safety head room value for subregulated LDOs
				which is sufficient to account for LDO drop-out
				voltage.
- qcom,init-quiet-mode:        Specify that quiet mode is needed for an SMPS
				regulator in order to have lower output noise.
				Supported values are:
					0 = No quiet mode
					1 = Quiet mode
					2 = Super quiet mode
- qcom,init-freq-reason:       Consumer requiring specified frequency for an
				SMPS regulator.  Supported values are:
					0 = None
					1 = Bluetooth
					2 = GPS
					4 = WLAN
					8 = WAN
- qcom,init-voltage-corner:    Performance corner to use in order to determine
				voltage set point.  This value corresponds to
				the actual value that will be sent and is not
				incremented by 1 like the values used inside of
				the regulator framework.  The meaning of corner
				values is set by the RPM.  It is possible that
				different regulators on a given platform or
				similar regulators on different platforms will
				utilize different corner values.  These are
				corner values supported on MSM8974 for PMIC
				PM8841 SMPS 2 (VDD_Dig); nominal voltages for
				these corners are also shown:
					0 = None         (don't care)
					1 = Retention    (0.5000 V)
					2 = SVS Krait    (0.7250 V)
					3 = SVS SOC      (0.8125 V)
					4 = Normal       (0.9000 V)
					5 = Turbo        (0.9875 V)
					6 = Super Turbo  (1.0500 V)
- qcom,init-disallow-bypass:   Specify that bypass mode should not be used for a
				given LDO regulator.  When in bypass mode, an
				LDO performs no regulation and acts as a simple
				switch.  The RPM can utilize this mode for an
				LDO that is subregulated from an SMPS when it is
				possible to reduce the SMPS voltage to the
				desired LDO output level.  Bypass mode may be
				disallowed if lower LDO output noise is
				required.  Supported values are:
					0 = Allow RPM to utilize LDO bypass mode
						if possible
					1 = Disallow LDO bypass mode
- qcom,init-voltage-floor-corner:  Minimum performance corner to use if any
				processor in the system is awake.  This property
				supports the same values as
				qcom,init-voltage-corner.
- qcom,init-voltage-level:     Performance level to use in order to determine
				voltage set point. The meaning of level
				values is set by the RPM. It is possible that
				different regulators on a given platform or
				similar regulators on different platforms will
				utilize different level values. These are
				level values supported on MSM8952 for PMIC
				PM8952 SMPS 2 (VDD_Dig); nominal voltages for
				these level are also shown:
					16  = Retention    (0.5000 V)
					128 = SVS          (1.0500 V)
					192 = SVS+         (1.1550 V)
					256 = Normal       (1.2250 V)
					320 = Normal+      (1.2875 V)
					384 = Turbo        (1.3500 V)
- qcom,init-voltage-floor-level:   Minimum performance level to use if any
				processor in the system is awake. This property
				supports the same values as
				qcom,init-voltage-level.

All properties specified within the core regulator framework can also be used in
second level nodes.  These bindings can be found in:
Documentation/devicetree/bindings/regulator/regulator.txt.

Examples:

rpm-regulator-smpb1 {
	qcom,resource-name = "smpb";
	qcom,resource-id = <1>;
	qcom,regulator-type = <1>;
	qcom,hpm-min-load = <100000>;
	compatible = "qcom,rpm-smd-regulator-resource";
	status = "disabled";

	pm8841_s1: regulator-s1 {
		regulator-name = "8841_s1";
		qcom,set = <3>;
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1150000>;
		qcom,init-voltage = <1150000>;
		compatible = "qcom,rpm-smd-regulator";
	};
	pm8841_s1_ao: regulator-s1-ao {
		regulator-name = "8841_s1_ao";
		qcom,set = <1>;
		regulator-min-microvolt = <900000>;
		regulator-max-microvolt = <1150000>;
		compatible = "qcom,rpm-smd-regulator";
	};
	pm8841_s1_corner: regulator-s1-corner {
		regulator-name = "8841_s1_corner";
		qcom,set = <3>;
		regulator-min-microvolt = <1>;
		regulator-max-microvolt = <6>;
		qcom,init-voltage-corner = <3>;
		qcom,use-voltage-corner;
		compatible = "qcom,rpm-smd-regulator";
	};
};

rpm-regulator-ldoa2 {
	qcom,resource-name = "ldoa";
	qcom,resource-id = <2>;
	qcom,regulator-type = <0>;
	qcom,hpm-min-load = <10000>;
	compatible = "qcom,rpm-smd-regulator-resource";

	regulator-l2 {
		compatible = "qcom,rpm-smd-regulator";
		regulator-name = "8941_l2";
		qcom,set = <3>;
		regulator-min-microvolt = <1225000>;
		regulator-max-microvolt = <1225000>;
		qcom,init-voltage = <1225000>;
	};
	regulator-l2-pin-ctrl {
		compatible = "qcom,rpm-smd-regulator";
		regulator-name = "8941_l2_pin_ctrl";
		qcom,set = <3>;
		regulator-min-microvolt = <1225000>;
		regulator-max-microvolt = <1225000>;
		qcom,init-voltage = <1225000>;
		qcom,enable-with-pin-ctrl = <0 1>;
	};
};
+23 −0
Original line number Diff line number Diff line
@@ -1768,6 +1768,29 @@ config ARM_MODULE_PLTS

source "mm/Kconfig"

choice
	prompt "Virtual Memory Reclaim"
	default NO_VM_RECLAIM
	help
	  Select the method of reclaiming virtual memory

config ENABLE_VMALLOC_SAVING
	bool "Reclaim memory for each subsystem"
	help
	  Enable this config to reclaim the virtual space belonging
	  to any subsystem which is expected to have a lifetime of
	  the entire system. This feature allows lowmem to be non-
	  contiguous.

config NO_VM_RECLAIM
	bool "Do not reclaim memory"
	help
	  Do not reclaim any memory. This might result in less lowmem
	  and wasting virtual memory space which could otherwise be
	  reclaimed by using any of the other two config options.

endchoice

config FORCE_MAX_ZONEORDER
	int "Maximum zone order"
	default "12" if SOC_AM33XX
+11 −0
Original line number Diff line number Diff line
@@ -76,6 +76,17 @@ config DEBUG_USER
	      8 - SIGSEGV faults
	     16 - SIGBUS faults

config FORCE_PAGES
	bool "Force lowmem to be mapped with 4K pages"
        help
          There are some advanced debug features that can only be done when
          memory is mapped with pages instead of sections. Enable this option
          to always map lowmem pages with pages. This may have a performance
          cost due to increased TLB pressure.

          If unsure say N.


# These options are only for real kernel hackers who want to get their hands dirty.
config DEBUG_LL
	bool "Kernel low-level debugging functions (read help!)"
Loading