Due to a recent fix in the firmware, the Punit verbosity control bits
now adhere to the correct pattern. Hence remove the workaround and
do a read-mofiy-write of the register.

Signed-off-by: Souvik Kumar Chakravarty <souvik.k.chakrava...@intel.com>
---
 drivers/platform/x86/intel_telemetry_pltdrv.c |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/intel_telemetry_pltdrv.c 
b/drivers/platform/x86/intel_telemetry_pltdrv.c
index f97019b..397119f 100644
--- a/drivers/platform/x86/intel_telemetry_pltdrv.c
+++ b/drivers/platform/x86/intel_telemetry_pltdrv.c
@@ -1030,8 +1030,19 @@ static int telemetry_plt_set_trace_verbosity(enum 
telemetry_unit telem_unit,
        switch (telem_unit) {
        case TELEM_PSS:
                ret = intel_punit_ipc_command(
+                               IPC_PUNIT_BIOS_READ_TELE_TRACE_CTRL,
+                               0, 0, NULL, &temp);
+               if (ret) {
+                       pr_err("PSS TRACE_CTRL Read Failed\n");
+                       goto out;
+               }
+
+               TELEM_CLEAR_VERBOSITY_BITS(temp);
+               TELEM_SET_VERBOSITY_BITS(temp, verbosity);
+
+               ret = intel_punit_ipc_command(
                                IPC_PUNIT_BIOS_WRITE_TELE_TRACE_CTRL,
-                               0, 0, &verbosity, NULL);
+                               0, 0, &temp, NULL);
                if (ret) {
                        pr_err("PSS TRACE_CTRL Verbosity Set Failed\n");
                        goto out;
-- 
1.7.9.5

Reply via email to