<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/powercap, branch v4.14.105</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.14.105</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.14.105'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2017-06-27T22:38:34Z</updated>
<entry>
<title>powercap/RAPL: prevent overridding bits outside of the mask</title>
<updated>2017-06-27T22:38:34Z</updated>
<author>
<name>Adam Lessnau</name>
<email>adam.lessnau@intel.com</email>
</author>
<published>2017-06-01T09:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=edbdabc62328ec0ac98d83ca384bf9fd5251ade6'/>
<id>urn:sha1:edbdabc62328ec0ac98d83ca384bf9fd5251ade6</id>
<content type='text'>
Fixes wrong bits shift operation in the rapl_write_data_raw function, which
might cause overridding bits outside of the mask.

For example, writing new TIME_WINDOW1 value can override POWER_LIMIT1.

Signed-off-by: Adam Lessnau &lt;adam.lessnau@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>PowerCap: Fix an error code in powercap_register_zone()</title>
<updated>2017-05-14T11:30:05Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2017-05-10T19:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=216c4e9db4c9d1d2a382b42880442dc632cd47d9'/>
<id>urn:sha1:216c4e9db4c9d1d2a382b42880442dc632cd47d9</id>
<content type='text'>
In the current code we accidentally return the successful result from
idr_alloc() instead of a negative error pointer.  The caller is looking
for an error pointer and so it treats the returned value as a valid
pointer.

This one might be a bit serious because if it lets people get around the
kernel's protection for remapping NULL.  I'm not sure.

Fixes: 75d2364ea0ca (PowerCap: Add class driver)
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap: intel_rapl: Add support for Gemini Lake</title>
<updated>2017-04-28T21:56:16Z</updated>
<author>
<name>David E. Box</name>
<email>david.e.box@intel.com</email>
</author>
<published>2017-04-23T14:15:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4486740da2e1cb307f58e0e62f94c92ec7c101a1'/>
<id>urn:sha1:4486740da2e1cb307f58e0e62f94c92ec7c101a1</id>
<content type='text'>
Gemini Lake RAPL support is similar to Goldmont.

Signed-off-by: David E. Box &lt;david.e.box@linux.intel.com&gt;
Acked-by: Pan, Jacob jun &lt;jacob.jun.pan@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap / RAPL: Add Knights Mill CPUID</title>
<updated>2016-11-30T22:41:33Z</updated>
<author>
<name>Piotr Luc</name>
<email>piotr.luc@intel.com</email>
</author>
<published>2016-10-13T15:31:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bd9089162d8002666f734dd18552c7297118fec3'/>
<id>urn:sha1:bd9089162d8002666f734dd18552c7297118fec3</id>
<content type='text'>
Add Knights Mill (KNM) to the list of CPUIDs supported by intel_rapl

Signed-off-by: Piotr Luc &lt;piotr.luc@intel.com&gt;
Reviewed-by: Dave Hansen &lt;dave.hansen@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel_rapl: fix and tidy up error handling</title>
<updated>2016-11-28T23:02:29Z</updated>
<author>
<name>Jacob Pan</name>
<email>jacob.jun.pan@linux.intel.com</email>
</author>
<published>2016-11-28T21:53:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=cb43f81b8489dcb87555e16c17453f0a9fa690f2'/>
<id>urn:sha1:cb43f81b8489dcb87555e16c17453f0a9fa690f2</id>
<content type='text'>
Commit e1399ba20eee ("powercap / RAPL: handle missing MSRs") added
contraint_to_pl() function to return index into an array. But it
can potentially return -EINVAL if powercap layer sends an out of
range constraint ID. This patch adds sanity check.

Unnecessary RAPL domain pointer check is removed since it must be
initialized before calling rapl_unit_xlate().

Fixes: e1399ba20eee ("powercap / RAPL: handle missing MSRs")
Reported-by: Odzioba, Lukasz &lt;lukasz.odzioba@intel.com&gt;
Reported-by: Koss, Marcin &lt;marcin.koss@intel.com&gt;
Signed-off-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel_rapl: Track active CPUs internally</title>
<updated>2016-11-24T20:58:32Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2016-11-22T21:16:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b4005e9278a4e62819fb16ba4bc3430ca650d0ab'/>
<id>urn:sha1:b4005e9278a4e62819fb16ba4bc3430ca650d0ab</id>
<content type='text'>
The ability of the CPU hotplug code to stop online/offline at each step
makes it necessary to track the activated CPUs in a package directly,
because outerwise a CPU offline callback can find CPUs which have already
executed the offline callback, but are not yet marked offline in the
topology mask. That could make such a CPU the package leader and in case
that CPU goes fully offline leave the package lead orphaned.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel_rapl: Cleanup duplicated init code</title>
<updated>2016-11-24T20:58:32Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2016-11-22T21:16:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=58705069204cc8afa0d7b759e81b61147e973de9'/>
<id>urn:sha1:58705069204cc8afa0d7b759e81b61147e973de9</id>
<content type='text'>
The whole init/exit code is a duplicate of the cpuhotplug code. So we can
just let the hotplug code do the actual work of setting up and tearing down
the domains.

This also restores the package hardware when a package is removed during
hotplug instead of leaving it in the last configured state and only reset
it when the driver is removed.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel rapl: Convert to hotplug state machine</title>
<updated>2016-11-24T20:58:32Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
<email>bigeasy@linutronix.de</email>
</author>
<published>2016-11-22T21:16:00Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5e4dc7915979a5a1ca9551659f0fdcd116a25b8f'/>
<id>urn:sha1:5e4dc7915979a5a1ca9551659f0fdcd116a25b8f</id>
<content type='text'>
Install the callbacks via the state machine as a first step. The init/exit
code is a duplicate of the hotplug code. This is cleaned up in a
consecutive patch.

Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel_rapl: Propagate error code when registration fails</title>
<updated>2016-11-24T20:58:31Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2016-11-22T21:15:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a74f43675790ae55b908940652b4b04b236d8f18'/>
<id>urn:sha1:a74f43675790ae55b908940652b4b04b236d8f18</id>
<content type='text'>
If rapl_package_register_powercap() fails in rapl_add_package() the
function happily returns 0.

Capture the error code and propagate it.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>powercap/intel_rapl: Add missing domain data update on hotplug</title>
<updated>2016-11-24T20:58:31Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2016-11-22T21:15:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bed5ab6375cd556d93661bbcea0d18c109c50df1'/>
<id>urn:sha1:bed5ab6375cd556d93661bbcea0d18c109c50df1</id>
<content type='text'>
The domain data of packages is only updated at init time, but new packages
created by hotplug miss that treatment.

Add it there and remove the global update at init time, because it's now
obsolete.

The more interesting question is why rapl_update_domain_data() exists at
all as nothing ever uses that data.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Jacob Pan &lt;jacob.jun.pan@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
