Lines Matching refs:hdev
10 void goya_set_pll_profile(struct hl_device *hdev, enum hl_pll_frequency freq) in goya_set_pll_profile() argument
12 struct goya_device *goya = hdev->asic_specific; in goya_set_pll_profile()
16 hl_set_frequency(hdev, MME_PLL, hdev->high_pll); in goya_set_pll_profile()
17 hl_set_frequency(hdev, TPC_PLL, hdev->high_pll); in goya_set_pll_profile()
18 hl_set_frequency(hdev, IC_PLL, hdev->high_pll); in goya_set_pll_profile()
21 hl_set_frequency(hdev, MME_PLL, GOYA_PLL_FREQ_LOW); in goya_set_pll_profile()
22 hl_set_frequency(hdev, TPC_PLL, GOYA_PLL_FREQ_LOW); in goya_set_pll_profile()
23 hl_set_frequency(hdev, IC_PLL, GOYA_PLL_FREQ_LOW); in goya_set_pll_profile()
26 hl_set_frequency(hdev, MME_PLL, goya->mme_clk); in goya_set_pll_profile()
27 hl_set_frequency(hdev, TPC_PLL, goya->tpc_clk); in goya_set_pll_profile()
28 hl_set_frequency(hdev, IC_PLL, goya->ic_clk); in goya_set_pll_profile()
31 dev_err(hdev->dev, "unknown frequency setting\n"); in goya_set_pll_profile()
38 struct hl_device *hdev = dev_get_drvdata(dev); in mme_clk_show() local
41 if (hl_device_disabled_or_in_reset(hdev)) in mme_clk_show()
44 value = hl_get_frequency(hdev, MME_PLL, false); in mme_clk_show()
55 struct hl_device *hdev = dev_get_drvdata(dev); in mme_clk_store() local
56 struct goya_device *goya = hdev->asic_specific; in mme_clk_store()
60 if (hl_device_disabled_or_in_reset(hdev)) { in mme_clk_store()
65 if (hdev->pm_mng_profile == PM_AUTO) { in mme_clk_store()
77 hl_set_frequency(hdev, MME_PLL, value); in mme_clk_store()
87 struct hl_device *hdev = dev_get_drvdata(dev); in tpc_clk_show() local
90 if (hl_device_disabled_or_in_reset(hdev)) in tpc_clk_show()
93 value = hl_get_frequency(hdev, TPC_PLL, false); in tpc_clk_show()
104 struct hl_device *hdev = dev_get_drvdata(dev); in tpc_clk_store() local
105 struct goya_device *goya = hdev->asic_specific; in tpc_clk_store()
109 if (hl_device_disabled_or_in_reset(hdev)) { in tpc_clk_store()
114 if (hdev->pm_mng_profile == PM_AUTO) { in tpc_clk_store()
126 hl_set_frequency(hdev, TPC_PLL, value); in tpc_clk_store()
136 struct hl_device *hdev = dev_get_drvdata(dev); in ic_clk_show() local
139 if (hl_device_disabled_or_in_reset(hdev)) in ic_clk_show()
142 value = hl_get_frequency(hdev, IC_PLL, false); in ic_clk_show()
153 struct hl_device *hdev = dev_get_drvdata(dev); in ic_clk_store() local
154 struct goya_device *goya = hdev->asic_specific; in ic_clk_store()
158 if (hl_device_disabled_or_in_reset(hdev)) { in ic_clk_store()
163 if (hdev->pm_mng_profile == PM_AUTO) { in ic_clk_store()
175 hl_set_frequency(hdev, IC_PLL, value); in ic_clk_store()
185 struct hl_device *hdev = dev_get_drvdata(dev); in mme_clk_curr_show() local
188 if (hl_device_disabled_or_in_reset(hdev)) in mme_clk_curr_show()
191 value = hl_get_frequency(hdev, MME_PLL, true); in mme_clk_curr_show()
202 struct hl_device *hdev = dev_get_drvdata(dev); in tpc_clk_curr_show() local
205 if (hl_device_disabled_or_in_reset(hdev)) in tpc_clk_curr_show()
208 value = hl_get_frequency(hdev, TPC_PLL, true); in tpc_clk_curr_show()
219 struct hl_device *hdev = dev_get_drvdata(dev); in ic_clk_curr_show() local
222 if (hl_device_disabled_or_in_reset(hdev)) in ic_clk_curr_show()
225 value = hl_get_frequency(hdev, IC_PLL, true); in ic_clk_curr_show()
236 struct hl_device *hdev = dev_get_drvdata(dev); in pm_mng_profile_show() local
238 if (hl_device_disabled_or_in_reset(hdev)) in pm_mng_profile_show()
242 (hdev->pm_mng_profile == PM_AUTO) ? "auto" : in pm_mng_profile_show()
243 (hdev->pm_mng_profile == PM_MANUAL) ? "manual" : in pm_mng_profile_show()
250 struct hl_device *hdev = dev_get_drvdata(dev); in pm_mng_profile_store() local
252 if (hl_device_disabled_or_in_reset(hdev)) { in pm_mng_profile_store()
257 mutex_lock(&hdev->fpriv_list_lock); in pm_mng_profile_store()
259 if (hdev->compute_ctx) { in pm_mng_profile_store()
260 dev_err(hdev->dev, in pm_mng_profile_store()
268 if (hdev->pm_mng_profile == PM_MANUAL) { in pm_mng_profile_store()
269 hdev->curr_pll_profile = PLL_HIGH; in pm_mng_profile_store()
270 hl_device_set_frequency(hdev, PLL_LOW); in pm_mng_profile_store()
271 hdev->pm_mng_profile = PM_AUTO; in pm_mng_profile_store()
274 if (hdev->pm_mng_profile == PM_AUTO) { in pm_mng_profile_store()
280 hdev->pm_mng_profile = PM_MANUAL; in pm_mng_profile_store()
282 mutex_unlock(&hdev->fpriv_list_lock); in pm_mng_profile_store()
287 flush_delayed_work(&hdev->work_freq); in pm_mng_profile_store()
292 dev_err(hdev->dev, "value should be auto or manual\n"); in pm_mng_profile_store()
297 mutex_unlock(&hdev->fpriv_list_lock); in pm_mng_profile_store()
305 struct hl_device *hdev = dev_get_drvdata(dev); in high_pll_show() local
307 if (hl_device_disabled_or_in_reset(hdev)) in high_pll_show()
310 return sprintf(buf, "%u\n", hdev->high_pll); in high_pll_show()
316 struct hl_device *hdev = dev_get_drvdata(dev); in high_pll_store() local
320 if (hl_device_disabled_or_in_reset(hdev)) { in high_pll_store()
332 hdev->high_pll = value; in high_pll_store()
359 void goya_add_device_attr(struct hl_device *hdev, in goya_add_device_attr() argument