Home
last modified time | relevance | path

Searched refs:gsc (Results 1 – 25 of 77) sorted by relevance

1234

/linux-6.6.21/drivers/gpu/drm/i915/gt/uc/
Dintel_gsc_uc.c18 struct intel_gsc_uc *gsc = container_of(work, typeof(*gsc), work); in gsc_work() local
19 struct intel_gt *gt = gsc_uc_to_gt(gsc); in gsc_work()
27 actions = gsc->gsc_work_actions; in gsc_work()
28 gsc->gsc_work_actions = 0; in gsc_work()
32 ret = intel_gsc_uc_fw_upload(gsc); in gsc_work()
59 if (!intel_gsc_uc_fw_init_done(gsc)) { in gsc_work()
64 ret = intel_gsc_proxy_request_handler(gsc); in gsc_work()
73 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work()
85 if (intel_gsc_uc_fw_proxy_init_done(gsc, false)) { in gsc_work()
87 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING); in gsc_work()
[all …]
Dintel_gsc_proxy.c84 static int proxy_send_to_csme(struct intel_gsc_uc *gsc) in proxy_send_to_csme() argument
86 struct intel_gt *gt = gsc_uc_to_gt(gsc); in proxy_send_to_csme()
87 struct i915_gsc_proxy_component *comp = gsc->proxy.component; in proxy_send_to_csme()
89 void *in = gsc->proxy.to_csme; in proxy_send_to_csme()
90 void *out = gsc->proxy.to_gsc; in proxy_send_to_csme()
123 static int proxy_send_to_gsc(struct intel_gsc_uc *gsc) in proxy_send_to_gsc() argument
125 struct intel_gt *gt = gsc_uc_to_gt(gsc); in proxy_send_to_gsc()
126 u32 *marker = gsc->proxy.to_csme; /* first dw of the reply header */ in proxy_send_to_gsc()
127 u64 addr_in = i915_ggtt_offset(gsc->proxy.vma); in proxy_send_to_gsc()
129 u32 size = ((struct gsc_proxy_msg *)gsc->proxy.to_gsc)->header.message_size; in proxy_send_to_gsc()
[all …]
Dintel_gsc_fw.c40 bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref) in intel_gsc_uc_fw_proxy_init_done() argument
43 gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, in intel_gsc_uc_fw_proxy_init_done()
48 int intel_gsc_uc_fw_proxy_get_status(struct intel_gsc_uc *gsc) in intel_gsc_uc_fw_proxy_get_status() argument
52 if (!intel_uc_fw_is_loadable(&gsc->fw)) in intel_gsc_uc_fw_proxy_get_status()
54 if (__intel_uc_fw_status(&gsc->fw) == INTEL_UC_FIRMWARE_LOAD_FAIL) in intel_gsc_uc_fw_proxy_get_status()
56 if (!intel_gsc_uc_fw_proxy_init_done(gsc, true)) in intel_gsc_uc_fw_proxy_get_status()
62 bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc) in intel_gsc_uc_fw_init_done() argument
64 return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, false) & in intel_gsc_uc_fw_init_done()
75 struct intel_gsc_uc *gsc = container_of(gsc_fw, struct intel_gsc_uc, fw); in intel_gsc_fw_get_binary_info() local
76 struct intel_gt *gt = gsc_uc_to_gt(gsc); in intel_gsc_fw_get_binary_info()
[all …]
Dintel_gsc_uc.h60 void intel_gsc_uc_init_early(struct intel_gsc_uc *gsc);
61 int intel_gsc_uc_init(struct intel_gsc_uc *gsc);
62 void intel_gsc_uc_fini(struct intel_gsc_uc *gsc);
63 void intel_gsc_uc_suspend(struct intel_gsc_uc *gsc);
64 void intel_gsc_uc_resume(struct intel_gsc_uc *gsc);
65 void intel_gsc_uc_flush_work(struct intel_gsc_uc *gsc);
66 void intel_gsc_uc_load_start(struct intel_gsc_uc *gsc);
67 void intel_gsc_uc_load_status(struct intel_gsc_uc *gsc, struct drm_printer *p);
69 static inline bool intel_gsc_uc_is_supported(struct intel_gsc_uc *gsc) in intel_gsc_uc_is_supported() argument
71 return intel_uc_fw_is_supported(&gsc->fw); in intel_gsc_uc_is_supported()
[all …]
Dintel_gsc_proxy.h13 int intel_gsc_proxy_init(struct intel_gsc_uc *gsc);
14 void intel_gsc_proxy_fini(struct intel_gsc_uc *gsc);
15 int intel_gsc_proxy_request_handler(struct intel_gsc_uc *gsc);
16 void intel_gsc_proxy_irq_handler(struct intel_gsc_uc *gsc, u32 iir);
Dintel_gsc_fw.h16 int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc);
17 bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc);
18 bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref);
19 int intel_gsc_uc_fw_proxy_get_status(struct intel_gsc_uc *gsc);
Dintel_gsc_uc_debugfs.c18 struct intel_gsc_uc *gsc = m->private; in gsc_info_show() local
20 if (!intel_gsc_uc_is_supported(gsc)) in gsc_info_show()
23 intel_gsc_uc_load_status(gsc, &p); in gsc_info_show()
Dintel_gsc_uc_heci_cmd_submit.c42 int intel_gsc_uc_heci_cmd_submit_packet(struct intel_gsc_uc *gsc, u64 addr_in, in intel_gsc_uc_heci_cmd_submit_packet() argument
46 struct intel_context *ce = gsc->ce; in intel_gsc_uc_heci_cmd_submit_packet()
90 drm_err(&gsc_uc_to_gt(gsc)->i915->drm, in intel_gsc_uc_heci_cmd_submit_packet()
127 intel_gsc_uc_heci_cmd_submit_nonpriv(struct intel_gsc_uc *gsc, in intel_gsc_uc_heci_cmd_submit_nonpriv() argument
177 drm_err(&gsc_uc_to_gt(gsc)->i915->drm, in intel_gsc_uc_heci_cmd_submit_nonpriv()
/linux-6.6.21/drivers/mfd/
Dgateworks-gsc.c76 static int gsc_powerdown(struct gsc_dev *gsc, unsigned long secs) in gsc_powerdown() argument
81 dev_info(&gsc->i2c->dev, "GSC powerdown for %ld seconds\n", in gsc_powerdown()
85 ret = regmap_bulk_write(gsc->regmap, GSC_TIME_ADD, regs, 4); in gsc_powerdown()
89 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1, in gsc_powerdown()
95 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1, in gsc_powerdown()
108 struct gsc_dev *gsc = dev_get_drvdata(dev); in gsc_show() local
113 rz = sprintf(buf, "%d\n", gsc->fwver); in gsc_show()
115 rz = sprintf(buf, "0x%04x\n", gsc->fwcrc); in gsc_show()
125 struct gsc_dev *gsc = dev_get_drvdata(dev); in gsc_store() local
131 gsc_powerdown(gsc, value); in gsc_store()
[all …]
/linux-6.6.21/drivers/media/platform/samsung/exynos-gsc/
Dgsc-m2m.c30 struct gsc_dev *gsc = ctx->gsc_dev; in gsc_m2m_ctx_stop_req() local
33 curr_ctx = v4l2_m2m_get_curr_priv(gsc->m2m.m2m_dev); in gsc_m2m_ctx_stop_req()
34 if (!gsc_m2m_pending(gsc) || (curr_ctx != ctx)) in gsc_m2m_ctx_stop_req()
38 ret = wait_event_timeout(gsc->irq_queue, in gsc_m2m_ctx_stop_req()
147 struct gsc_dev *gsc; in gsc_m2m_device_run() local
155 gsc = ctx->gsc_dev; in gsc_m2m_device_run()
156 spin_lock_irqsave(&gsc->slock, flags); in gsc_m2m_device_run()
158 set_bit(ST_M2M_PEND, &gsc->state); in gsc_m2m_device_run()
161 if (gsc->m2m.ctx != ctx) { in gsc_m2m_device_run()
163 gsc->m2m.ctx, ctx); in gsc_m2m_device_run()
[all …]
Dgsc-core.c339 void gsc_set_prefbuf(struct gsc_dev *gsc, struct gsc_frame *frm) in gsc_set_prefbuf() argument
390 struct gsc_dev *gsc = ctx->gsc_dev; in gsc_try_fmt_mplane() local
391 struct gsc_variant *variant = gsc->variant; in gsc_try_fmt_mplane()
519 struct gsc_dev *gsc = ctx->gsc_dev; in gsc_try_selection() local
520 struct gsc_variant *variant = gsc->variant; in gsc_try_selection()
699 struct gsc_dev *gsc = ctx->gsc_dev; in __gsc_s_ctrl() local
700 struct gsc_variant *variant = gsc->variant; in __gsc_s_ctrl()
861 struct gsc_dev *gsc = priv; in gsc_irq_handler() local
865 gsc_irq = gsc_hw_get_irq_status(gsc); in gsc_irq_handler()
866 gsc_hw_clear_irq(gsc, gsc_irq); in gsc_irq_handler()
[all …]
DMakefile2 exynos-gsc-objs := gsc-core.o gsc-m2m.o gsc-regs.o
4 obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc.o
/linux-6.6.21/drivers/gpu/drm/i915/gt/
Dintel_gsc.c42 gsc_ext_om_alloc(struct intel_gsc *gsc, struct intel_gsc_intf *intf, size_t size) in gsc_ext_om_alloc() argument
44 struct intel_gt *gt = gsc_to_gt(gsc); in gsc_ext_om_alloc()
141 struct intel_gsc *gsc, unsigned int intf_id) in gsc_destroy_one() argument
143 struct intel_gsc_intf *intf = &gsc->intf[intf_id]; in gsc_destroy_one()
149 intel_huc_unregister_gsc_notifier(&gsc_to_gt(gsc)->uc.huc, in gsc_destroy_one()
164 static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc, in gsc_init_one() argument
171 struct intel_gsc_intf *intf = &gsc->intf[intf_id]; in gsc_init_one()
180 if (gsc_to_gt(gsc)->info.id != 0) { in gsc_init_one()
228 if (gsc_ext_om_alloc(gsc, intf, def->lmem_size)) { in gsc_init_one()
263 intel_huc_register_gsc_notifier(&gsc_to_gt(gsc)->uc.huc, in gsc_init_one()
[all …]
Dintel_gt.h50 return container_of(gsc_uc, struct intel_gt, uc.gsc); in gsc_uc_to_gt()
53 static inline struct intel_gt *gsc_to_gt(struct intel_gsc *gsc) in gsc_to_gt() argument
55 return container_of(gsc, struct intel_gt, gsc); in gsc_to_gt()
/linux-6.6.21/Documentation/devicetree/bindings/media/
Dsamsung,exynos5250-gsc.yaml4 $id: http://devicetree.org/schemas/media/samsung,exynos5250-gsc.yaml#
26 - samsung,exynos5250-gsc
27 - samsung,exynos5420-gsc
28 - const: samsung,exynos5-gsc
30 - samsung,exynos5433-gsc
31 - const: samsung,exynos5-gsc
72 - samsung,exynos5-gsc
73 - samsung,exynos5250-gsc
74 - samsung,exynos5420-gsc
102 compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
/linux-6.6.21/Documentation/devicetree/bindings/mfd/
Dgateworks-gsc.yaml4 $id: http://devicetree.org/schemas/mfd/gateworks-gsc.yaml#
25 pattern: "gsc@[0-9a-f]{1,2}"
27 const: gw,gsc
54 const: gw,gsc-adc
123 const: gw,gsc-fan
152 gsc@20 {
153 compatible = "gw,gsc";
163 compatible = "gw,gsc-adc";
189 compatible = "gw,gsc-fan";
/linux-6.6.21/arch/arm64/boot/dts/freescale/
Dimx8mm-venice-gw700x.dtsi28 interrupt-parent = <&gsc>;
35 interrupt-parent = <&gsc>;
42 interrupt-parent = <&gsc>;
49 interrupt-parent = <&gsc>;
56 interrupt-parent = <&gsc>;
129 gsc: gsc@20 { label
130 compatible = "gw,gsc";
141 compatible = "gw,gsc-adc";
237 compatible = "gw,gsc-fan";
247 interrupt-parent = <&gsc>;
Dimx8mp-venice-gw702x.dtsi32 interrupt-parent = <&gsc>;
39 interrupt-parent = <&gsc>;
46 interrupt-parent = <&gsc>;
53 interrupt-parent = <&gsc>;
60 interrupt-parent = <&gsc>;
118 gsc: gsc@20 { label
119 compatible = "gw,gsc";
130 compatible = "gw,gsc-adc";
225 compatible = "gw,gsc-fan";
235 interrupt-parent = <&gsc>;
/linux-6.6.21/arch/arm/boot/dts/nxp/imx/
Dimx6qdl-gw5907.dtsi36 interrupt-parent = <&gsc>;
43 interrupt-parent = <&gsc>;
50 interrupt-parent = <&gsc>;
57 interrupt-parent = <&gsc>;
64 interrupt-parent = <&gsc>;
152 gsc: gsc@20 { label
153 compatible = "gw,gsc";
162 compatible = "gw,gsc-adc";
245 interrupt-parent = <&gsc>;
Dimx6qdl-gw5913.dtsi36 interrupt-parent = <&gsc>;
43 interrupt-parent = <&gsc>;
50 interrupt-parent = <&gsc>;
57 interrupt-parent = <&gsc>;
64 interrupt-parent = <&gsc>;
137 gsc: gsc@20 { label
138 compatible = "gw,gsc";
147 compatible = "gw,gsc-adc";
243 interrupt-parent = <&gsc>;
Dimx6qdl-gw5912.dtsi37 interrupt-parent = <&gsc>;
44 interrupt-parent = <&gsc>;
51 interrupt-parent = <&gsc>;
58 interrupt-parent = <&gsc>;
65 interrupt-parent = <&gsc>;
156 gsc: gsc@20 { label
157 compatible = "gw,gsc";
167 compatible = "gw,gsc-adc";
245 compatible = "gw,gsc-fan";
255 interrupt-parent = <&gsc>;
Dimx6qdl-gw552x.dtsi37 interrupt-parent = <&gsc>;
44 interrupt-parent = <&gsc>;
51 interrupt-parent = <&gsc>;
58 interrupt-parent = <&gsc>;
65 interrupt-parent = <&gsc>;
142 gsc: gsc@20 { label
143 compatible = "gw,gsc";
152 compatible = "gw,gsc-adc";
235 interrupt-parent = <&gsc>;
Dimx6qdl-gw51xx.dtsi36 interrupt-parent = <&gsc>;
43 interrupt-parent = <&gsc>;
50 interrupt-parent = <&gsc>;
57 interrupt-parent = <&gsc>;
64 interrupt-parent = <&gsc>;
152 gsc: gsc@20 { label
153 compatible = "gw,gsc";
162 compatible = "gw,gsc-adc";
245 interrupt-parent = <&gsc>;
/linux-6.6.21/drivers/hwmon/
Dgsc-hwmon.c26 struct gsc_dev *gsc; member
316 struct gsc_dev *gsc = dev_get_drvdata(pdev->dev.parent); in gsc_hwmon_probe() local
333 hwmon->gsc = gsc; in gsc_hwmon_probe()
337 gsc->i2c_hwmon, in gsc_hwmon_probe()
348 dev_err(gsc->dev, "too many temp channels\n"); in gsc_hwmon_probe()
358 dev_err(gsc->dev, "too many fan channels\n"); in gsc_hwmon_probe()
370 dev_err(gsc->dev, "too many input channels\n"); in gsc_hwmon_probe()
379 dev_err(gsc->dev, "invalid mode: %d\n", ch->mode); in gsc_hwmon_probe()
/linux-6.6.21/drivers/misc/mei/
DMakefile21 obj-$(CONFIG_INTEL_MEI_GSC) += mei-gsc.o
22 mei-gsc-objs := gsc-me.o

1234