On 9/30/2020 6:28 PM, Scott Branden wrote:
Add sysfs support to query the VK card status and monitor sense points.
The vk-card-status and vk-card-mon details are provided in the README
file in the bcm-vk driver directory.

Co-developed-by: Desmond Yan <desmond....@broadcom.com>
Signed-off-by: Desmond Yan <desmond....@broadcom.com>
Signed-off-by: Scott Branden <scott.bran...@broadcom.com>
---

[snip]

+vk-card-status/
+       bus                     ---> device PCIe bus
+       card_state              ---> summary of current card states
+       chip_id
+       firmware_status         ---> summary of all firmware status
+       firmware_version        ---> summary of all firmware versions
+       freq_core_mhz           ---> running frequency in mHz
+       freq_mem_mhz            ---> memory frequency in mHz
+       mem_size_mb             ---> memory size in MByte
+       os_state                ---> current running state
+       reset_reason            ---> last reset reason
+       rev_boot1               ---> boot1 firmware revision
+       rev_boot2               ---> boot2 firmware revision
+       rev_driver              ---> host driver revision
+       rev_flash_rom           ---> Flash ROM revision
+       sotp_boot1_rev_id       ---> minimum boot1 revision required
+       sotp_boot2_rev_id       ---> minimum boot2 revision required
+       sotp_dauth_1            ---> authentication key hash
+       sotp_dauth_1_valid      ---> authentication key validity
+       sotp_dauth_1_active_status -> authentication key active or not
+       sotp_dauth_2
+       sotp_dauth_2_valid
+       sotp_dauth_2_active_status
+       sotp_dauth_3
+       sotp_dauth_3_valid
+       sotp_dauth_3_active_status
+       sotp_dauth_4
+       sotp_dauth_4_valid
+       sotp_dauth_4_active_status
+       temp_threshold_lower_c  ---> thermal low threshold in Celsius
+       temp_threshold_upper_c  ---> thermal high threshold in Celsius
+       uptime_s                ---> os up time in seconds
+
+vk-card-mon/
+       alert_afbc_busy         ---> AFBC block stuck
+       alert_ecc               ---> uncorrectable ECC error(s) occurred
+       alert_ecc_warn          ---> correctable ECC error(s) occurred
+       alert_heartbeat_fail    ---> host detects heartbeat discontinuation
+                                    from card
+       alert_high_temp         ---> high temperature threshold crossed
+       alert_intf_ver_fail     ---> interface not compatible based on version
+       alert_low_temp_warn     ---> low temperature threshold crossed
+       alert_malloc_fail_warn  ---> mem allocation failure(s) occurred
+       alert_pcie_down         ---> host detect pcie intf going down
+       alert_ssim_busy         ---> ssim block busy
+       alert_sys_fault         ---> system fault
+       alert_wdog_timeout      ---> watchdog timeout

Almost all of these should be supported using the HWMON framework instead of custom attributes that do not follow the HWMON naming conventions.

+       firmware_status_reg
+       mem_ecc                 ---> correctable ECC error count
+       mem_uecc                ---> uncorrectable ECC error count

Implementing an EDAC driver would be a bit overkill unless you have a way to signal ECC errors towards the host?

+       boot_status_reg         ---> boot status of card
+       pwr_state               ---> power state, 1-full, 2-reduced, 3-lowest
+       temperature_sensor_1_c  ---> CPU die temperature in Celsius
+       temperature_sensor_2_c  ---> DDR0 temperature in Celsius
+       temperature_sensor_3_c  ---> DDR1 temperature in Celsius

Likewise.

+       utilization             ---> runtime video transcoding consumption 
summary
+       utilization_pix         ---> percentage of pixel processing used
+       utilization_pix_used    ---> pixel processing used
+       utilization_pix_max     ---> max pixel processing value which maps 100% 
load
+       utilization_codec       ---> percentage of codec sessions used
+       utilization_codec_used  ---> codec sessions currently used
+       utilization_codec_max   ---> max codec sessions allowed
+       voltage_18_mv           ---> 1.8v voltage rail in mv
+       voltage_33_mv           ---> 3.3v voltage rail in mv

Likewise

+
+The sysfs entry supports only the read operation.

entries.
--
Florian

Reply via email to