Commit 792588a8 authored by Dafna Hirschfeld's avatar Dafna Hirschfeld Committed by Oded Gabbay

habanalabs: move memory_scrub_val to hdev struct

move the field memory_scrub_val from struct hl_dbg_device_entry
to struct hl_device. This is because we want to use
this field also if debugfs is off.
Signed-off-by: default avatarDafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 0d989434
...@@ -543,7 +543,7 @@ static ssize_t hl_memory_scrub(struct file *f, const char __user *buf, ...@@ -543,7 +543,7 @@ static ssize_t hl_memory_scrub(struct file *f, const char __user *buf,
{ {
struct hl_dbg_device_entry *entry = file_inode(f)->i_private; struct hl_dbg_device_entry *entry = file_inode(f)->i_private;
struct hl_device *hdev = entry->hdev; struct hl_device *hdev = entry->hdev;
u64 val = entry->memory_scrub_val; u64 val = hdev->memory_scrub_val;
int rc; int rc;
if (!hl_device_operational(hdev, NULL)) { if (!hl_device_operational(hdev, NULL)) {
...@@ -1516,7 +1516,7 @@ void hl_debugfs_add_device(struct hl_device *hdev) ...@@ -1516,7 +1516,7 @@ void hl_debugfs_add_device(struct hl_device *hdev)
debugfs_create_x64("memory_scrub_val", debugfs_create_x64("memory_scrub_val",
0644, 0644,
dev_entry->root, dev_entry->root,
&dev_entry->memory_scrub_val); &hdev->memory_scrub_val);
debugfs_create_file("memory_scrub", debugfs_create_file("memory_scrub",
0200, 0200,
......
...@@ -2065,7 +2065,6 @@ struct hl_debugfs_entry { ...@@ -2065,7 +2065,6 @@ struct hl_debugfs_entry {
* @addr: next address to read/write from/to in read/write32. * @addr: next address to read/write from/to in read/write32.
* @mmu_addr: next virtual address to translate to physical address in mmu_show. * @mmu_addr: next virtual address to translate to physical address in mmu_show.
* @userptr_lookup: the target user ptr to look up for on demand. * @userptr_lookup: the target user ptr to look up for on demand.
* @memory_scrub_val: the value to which the dram will be scrubbed to using cb scrub_device_dram
* @mmu_asid: ASID to use while translating in mmu_show. * @mmu_asid: ASID to use while translating in mmu_show.
* @state_dump_head: index of the latest state dump * @state_dump_head: index of the latest state dump
* @i2c_bus: generic u8 debugfs file for bus value to use in i2c_data_read. * @i2c_bus: generic u8 debugfs file for bus value to use in i2c_data_read.
...@@ -2096,7 +2095,6 @@ struct hl_dbg_device_entry { ...@@ -2096,7 +2095,6 @@ struct hl_dbg_device_entry {
u64 addr; u64 addr;
u64 mmu_addr; u64 mmu_addr;
u64 userptr_lookup; u64 userptr_lookup;
u64 memory_scrub_val;
u32 mmu_asid; u32 mmu_asid;
u32 state_dump_head; u32 state_dump_head;
u8 i2c_bus; u8 i2c_bus;
...@@ -2797,6 +2795,7 @@ struct hl_reset_info { ...@@ -2797,6 +2795,7 @@ struct hl_reset_info {
* @stream_master_qid_arr: pointer to array with QIDs of master streams. * @stream_master_qid_arr: pointer to array with QIDs of master streams.
* @fw_major_version: major version of current loaded preboot * @fw_major_version: major version of current loaded preboot
* @dram_used_mem: current DRAM memory consumption. * @dram_used_mem: current DRAM memory consumption.
* @memory_scrub_val: the value to which the dram will be scrubbed to using cb scrub_device_dram
* @timeout_jiffies: device CS timeout value. * @timeout_jiffies: device CS timeout value.
* @max_power: the max power of the device, as configured by the sysadmin. This * @max_power: the max power of the device, as configured by the sysadmin. This
* value is saved so in case of hard-reset, the driver will restore * value is saved so in case of hard-reset, the driver will restore
...@@ -2942,6 +2941,7 @@ struct hl_device { ...@@ -2942,6 +2941,7 @@ struct hl_device {
u32 *stream_master_qid_arr; u32 *stream_master_qid_arr;
u32 fw_major_version; u32 fw_major_version;
atomic64_t dram_used_mem; atomic64_t dram_used_mem;
u64 memory_scrub_val;
u64 timeout_jiffies; u64 timeout_jiffies;
u64 max_power; u64 max_power;
u64 boot_error_status_mask; u64 boot_error_status_mask;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment