{"push_id":2647928340,"size":10,"distinct_size":10,"ref":"refs/heads/mainline-stable/4.14.49/release","head":"e53ebf23677300bf6caa1e030654a03934ab917e","before":"d0412fa5dc2b3d77218fbab661e990dc61f8da9c","commits":[{"sha":"e86ec09810b63338dab86ff7b40eb826d6524af5","author":{"name":"Vadim Lomovtsev","email":"cb0e47a9227fa62749b577fd5ce2bfa832d060f9@cavium.com"},"message":"Revert \"cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC\"\n\nThis reverts commit 3a1c550f23d5dcfc50e0b4f07f071f1d5b67e5b0.","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/e86ec09810b63338dab86ff7b40eb826d6524af5"},{"sha":"8f85b60cd9f08020e1082e2201567d476c0f89c9","author":{"name":"Prashanth Prakash","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"ACPI / CPPC: Add support for CPPC v3\n\nCPPC V3 introduces two new entries to make it easier to convert between\nabstract processor performance and frequency. The two new entries are\nlowest frequency and nominal frequency. These are the frequencies\ncorresponding to lowest and nominal abstract performance.\n\nAdd support to read the new entries and populate them as part of the\nCPPC performance capabilities which can be used by cpufreq drivers\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit 4773e77cdc9b3af93ee1ae7bcf2acf94fde17166)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/8f85b60cd9f08020e1082e2201567d476c0f89c9"},{"sha":"34ae7e9f046ac71a6a05171d77dfcccdcf2209d3","author":{"name":"Prashanth Prakash","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"ACPI / CPPC: Check for valid PCC subspace only if PCC is used\n\nChanges the behavior where we return error if there are no valid PCC\nsubspace for a given performance domain.\n\nThe ACPI spec does not mandate the use PCC, so it is possible to have\nplatforms where a PCC subspace may not be present, so we need to check\nfor a valid PCC subspace ID only if the register is a PCC register.\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit 6fa12d584dcba18f67425ce17e9317311a624f81)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/34ae7e9f046ac71a6a05171d77dfcccdcf2209d3"},{"sha":"b8d30b028db697f862be971db836df19455af601","author":{"name":"Prashanth Prakash","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"ACPI / CPPC: Document CPPC sysfs interface\n\nAdd a file to describe the CPPC sysfs interface and steps to compute\naverage delivered performance using the feedback counters.\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\n[ rjw: Minor adjustments ]\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit b382bf885269bffaa8444a9310db680f2f0f4151)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/b8d30b028db697f862be971db836df19455af601"},{"sha":"2515430e4f1931cfb2168aba06be7a2b05f75f82","author":{"name":"Viresh Kumar","email":"5ff32272b3d9f86512eddc8e0af523fc6f7924e5@linaro.org"},"message":"cpufreq: CPPC: Don't set transition_latency\n\nNow that the driver has started to set transition_delay_us directly,\nthere is no need to set transition_latency along with it, as it is not\nused by the cpufreq core.\n\nSigned-off-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit b8b10bc2015cd91350aac68447377c8410a48865)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/2515430e4f1931cfb2168aba06be7a2b05f75f82"},{"sha":"3b06531fa9240c79204712a25fe44695d303e7a5","author":{"name":"Prashanth Prakash","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"cpufreq / CPPC: Support for CPPC v3\n\nUse CPPC v3 entries to convert the abstract processor performance to\nprocessor frequency in KHz.\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\nAcked-by: Viresh Kumar <viresh.kumar@linaro.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit 256f19d212f260c955a90a0efc7753e11b18e34c)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/3b06531fa9240c79204712a25fe44695d303e7a5"},{"sha":"df58f3f49c83fda5961751abc9787c37796cac7c","author":{"name":"Prashanth Prakash","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"cpufreq / CPPC: Set platform specific transition_delay_us\n\nAdd support to specify platform specific transition_delay_us instead\nof using the transition delay derived from PCC.\n\nWith commit 3d41386d556d (cpufreq: CPPC: Use transition_delay_us\ndepending transition_latency) we are setting transition_delay_us\ndirectly and not applying the LATENCY_MULTIPLIER. Because of that,\non Qualcomm Centriq we can end up with a very high rate of frequency\nchange requests when using the schedutil governor (default\nrate_limit_us=10 compared to an earlier value of 10000).\n\nThe PCC subspace describes the rate at which the platform can accept\ncommands on the CPPC's PCC channel. This includes read and write\ncommand on the PCC channel that can be used for reasons other than\nfrequency transitions. Moreover the same PCC subspace can be used by\nmultiple freq domains and deriving transition_delay_us from it as we\ndo now can be sub-optimal.\n\nMoreover if a platform does not use PCC for desired_perf register then\nthere is no way to compute the transition latency or the delay_us.\n\nCPPC does not have a standard defined mechanism to get the transition\nrate or the latency at the moment.\n\nGiven the above limitations, it is simpler to have a platform specific\ntransition_delay_us and rely on PCC derived value only if a platform\nspecific value is not available.\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\nCc: 4.14+ <stable@vger.kernel.org> # 4.14+\nFixes: 3d41386d556d (cpufreq: CPPC: Use transition_delay_us depending transition_latency)\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit d4f3388afd488ed15368fa7413b8bd6d1f98bb1d)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/df58f3f49c83fda5961751abc9787c37796cac7c"},{"sha":"786a65548e13ee49fcd88d69a0e1275f4171836c","author":{"name":"Prakash, Prashanth","email":"b6d84e572269974aed0bfc69f8c1927043b6f4e7@codeaurora.org"},"message":"ACPI / CPPC: Fix invalid PCC channel status errors\n\nReplace the faulty PCC status register polling code with a iopoll.h\nmacro to fix incorrect reporting of PCC check errors (\"PCC check\nchannel failed\").\n\nThere were potential codepaths where we could incorrectly return\nPCC channel status as busy even without checking the PCC status\nregister once or not checking the status register before breaking\nout of the polling loop. For example, if the thread polling PCC\nstatus register was preempted and scheduled back after we have\ncrossed the deadline then we can report that the channel is busy\neven without checking the status register.\n\nSigned-off-by: Prashanth Prakash <pprakash@codeaurora.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit 58e1c03536c959e0d45fde8261cb9c15da893fe6)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/786a65548e13ee49fcd88d69a0e1275f4171836c"},{"sha":"d3b72716f1b38dba8ea0eebc4ca12b1edb112d61","author":{"name":"Al Stone","email":"61fc6b7997de75e997d21b695e35791e03b3aeb0@redhat.com"},"message":"mailbox: PCC: erroneous error message when parsing ACPI PCCT\n\nThere have been multiple reports of the following error message:\n\n[    0.068293] Error parsing PCC subspaces from PCCT\n\nThis error message is not correct.  In multiple cases examined, the PCCT\n(Platform Communications Channel Table) concerned is actually properly\nconstructed; the problem is that acpi_pcc_probe() which reads the PCCT\nis making the assumption that the only valid PCCT is one that contains\nsubtables of one of two types: ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE or\nACPI_PCCT_TYPE_HW_REDUCED_TYPE2.  The number of subtables of these\ntypes are counted and as long as there is at least one of the desired\ntypes, the acpi_pcc_probe() succeeds.  When no subtables of these types\nare found, regardless of whether or not any other subtable types are\npresent, the error mentioned above is reported.\n\nIn the cases reported to me personally, the PCCT contains exactly one\nsubtable of type ACPI_PCCT_TYPE_GENERIC_SUBSPACE.  The function\nacpi_pcc_probe() does not count it as a valid subtable, so believes\nthere to be no valid subtables, and hence outputs the error message.\n\nAn example of the PCCT being reported as erroneous yet perfectly fine\nis the following:\n\n                    Signature : \"PCCT\"\n                 Table Length : 0000006E\n                     Revision : 05\n                     Checksum : A9\n                       Oem ID : \"XXXXXX\"\n                 Oem Table ID : \"XXXXX   \"\n                 Oem Revision : 00002280\n              Asl Compiler ID : \"XXXX\"\n        Asl Compiler Revision : 00000002\n\n        Flags (decoded below) : 00000001\n                     Platform : 1\n                     Reserved : 0000000000000000\n\n                Subtable Type : 00 [Generic Communications Subspace]\n                       Length : 3E\n\n                     Reserved : 000000000000\n                 Base Address : 00000000DCE43018\n               Address Length : 0000000000001000\n\n            Doorbell Register : [Generic Address Structure]\n                     Space ID : 01 [SystemIO]\n                    Bit Width : 08\n                   Bit Offset : 00\n         Encoded Access Width : 01 [Byte Access:8]\n                      Address : 0000000000001842\n\n                Preserve Mask : 00000000000000FD\n                   Write Mask : 0000000000000002\n              Command Latency : 00001388\n          Maximum Access Rate : 00000000\n      Minimum Turnaround Time : 0000\n\nTo fix this, we count up all of the possible subtable types for the\nPCCT, and only report an error when there are none (which could mean\neither no subtables, or no valid subtables), or there are too many.\nWe also change the logic so that if there is a valid subtable, we\ndo try to initialize it per the PCCT subtable contents.  This is a\nchange in functionality; previously, the probe would have returned\nright after the error message and would not have tried to use any\nother subtable definition.\n\nTested on my personal laptop which showed the error previously; the\nerror message no longer appears and the laptop appears to operate\nnormally.\n\nSigned-off-by: Al Stone <ahs3@redhat.com>\nReviewed-by: Prashanth Prakash <pprakash@codeaurora.org>\nSigned-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>\n(cherry picked from commit 8f8027c5f935bf02bdc8806c109ddbb0e402283c)\nSigned-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/d3b72716f1b38dba8ea0eebc4ca12b1edb112d61"},{"sha":"e53ebf23677300bf6caa1e030654a03934ab917e","author":{"name":"George Cherian","email":"8e18b99e46990fa7e3bd5a1867c7fd53949c00ec@cavium.com"},"message":"cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC\n\nPer Section 8.4.7.1.3 of ACPI 6.2, The platform provides performance\nfeedback via set of performance counters. To determine the actual\nperformance level delivered over time, OSPM may read a set of\nperformance counters from the Reference Performance Counter Register\nand the Delivered Performance Counter Register.\n\nOSPM calculates the delivered performance over a given time period by\ntaking a beginning and ending snapshot of both the reference and\ndelivered performance counters, and calculating:\n\ndelivered_perf = reference_perf X (delta of delivered_perf counter / delta of reference_perf counter).\n\nImplement the above and hook this to the cpufreq->get method.\n\nSigned-off-by: George Cherian <george.cherian@cavium.com>\nAcked-by: Viresh Kumar <viresh.kumar@linaro.org>","distinct":true,"url":"https://api.github.com/repos/vlomovtsev/linux/commits/e53ebf23677300bf6caa1e030654a03934ab917e"}]}
{"actor":{"display_login":"vlomovtsev"}}