Home
last modified time | relevance | path

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

12

/linux/drivers/gpu/drm/i915/gt/uc/
H A 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()
72 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); in gsc_work()
84 if (intel_gsc_uc_fw_proxy_init_done(gsc, false)) { in gsc_work()
86 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_RUNNING); in gsc_work()
[all …]
H A 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 …]
H A 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);
H A 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);
H A 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()
H A Dintel_uc.c121 intel_gsc_uc_init_early(&uc->gsc); in intel_uc_init_early()
134 intel_gsc_uc_load_start(&uc->gsc); in intel_uc_init_late()
294 intel_uc_fw_change_status(&uc->gsc.fw, in __uc_fetch_firmwares()
305 intel_uc_fw_fetch(&uc->gsc.fw); in __uc_fetch_firmwares()
310 intel_uc_fw_cleanup_fetch(&uc->gsc.fw); in __uc_cleanup_firmwares()
337 intel_gsc_uc_init(&uc->gsc); in __uc_init()
344 intel_gsc_uc_fini(&uc->gsc); in __uc_fini()
685 intel_gsc_uc_flush_work(&uc->gsc); in intel_uc_suspend()
737 intel_gsc_uc_resume(&uc->gsc); in __uc_resume()
H A Dintel_gsc_uc_heci_cmd_submit.h67 int intel_gsc_uc_heci_cmd_submit_packet(struct intel_gsc_uc *gsc,
89 intel_gsc_uc_heci_cmd_submit_nonpriv(struct intel_gsc_uc *gsc,
/linux/drivers/gpu/drm/xe/
H A Dxe_gsc_proxy.c61 gsc_to_gt(struct xe_gsc *gsc) in gsc_to_gt() argument
63 return container_of(gsc, struct xe_gt, uc.gsc); in gsc_to_gt()
66 bool xe_gsc_proxy_init_done(struct xe_gsc *gsc) in xe_gsc_proxy_init_done() argument
68 struct xe_gt *gt = gsc_to_gt(gsc); in xe_gsc_proxy_init_done()
75 int xe_gsc_wait_for_proxy_init_done(struct xe_gsc *gsc) in xe_gsc_wait_for_proxy_init_done() argument
77 struct xe_gt *gt = gsc_to_gt(gsc); in xe_gsc_wait_for_proxy_init_done()
86 static void __gsc_proxy_irq_rmw(struct xe_gsc *gsc, u32 clr, u32 set) in __gsc_proxy_irq_rmw() argument
88 struct xe_gt *gt = gsc_to_gt(gsc); in __gsc_proxy_irq_rmw()
96 static void gsc_proxy_irq_clear(struct xe_gsc *gsc) in gsc_proxy_irq_clear() argument
99 __gsc_proxy_irq_rmw(gsc, 0, HECI_H_CSR_IS); in gsc_proxy_irq_clear()
[all …]
H A Dxe_gsc_debugfs.c18 gsc_to_gt(struct xe_gsc *gsc) in gsc_to_gt() argument
20 return container_of(gsc, struct xe_gt, uc.gsc); in gsc_to_gt()
24 gsc_to_xe(struct xe_gsc *gsc) in gsc_to_xe() argument
26 return gt_to_xe(gsc_to_gt(gsc)); in gsc_to_xe()
36 struct xe_gsc *gsc = node_to_gsc(m->private); in gsc_info() local
37 struct xe_device *xe = gsc_to_xe(gsc); in gsc_info()
41 xe_gsc_print_info(gsc, &p); in gsc_info()
51 void xe_gsc_debugfs_register(struct xe_gsc *gsc, struct dentry *parent) in xe_gsc_debugfs_register() argument
53 struct drm_minor *minor = gsc_to_xe(gsc)->drm.primary; in xe_gsc_debugfs_register()
58 local = drmm_kmalloc(&gsc_to_xe(gsc)->drm, DEBUGFS_SIZE, GFP_KERNEL); in xe_gsc_debugfs_register()
[all …]
H A Dxe_gsc_proxy.h13 int xe_gsc_proxy_init(struct xe_gsc *gsc);
14 bool xe_gsc_proxy_init_done(struct xe_gsc *gsc);
15 int xe_gsc_wait_for_proxy_init_done(struct xe_gsc *gsc);
16 int xe_gsc_proxy_start(struct xe_gsc *gsc);
18 int xe_gsc_proxy_request_handler(struct xe_gsc *gsc);
19 void xe_gsc_proxy_irq_handler(struct xe_gsc *gsc, u32 iir);
H A Dxe_gsc.h16 int xe_gsc_init(struct xe_gsc *gsc);
17 int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc);
18 void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc);
19 void xe_gsc_stop_prepare(struct xe_gsc *gsc);
20 void xe_gsc_load_start(struct xe_gsc *gsc);
25 void xe_gsc_print_info(struct xe_gsc *gsc, struct drm_printer *p);
H A Dxe_gsc_submit.c39 gsc_to_gt(struct xe_gsc *gsc) in gsc_to_gt() argument
41 return container_of(gsc, struct xe_gt, uc.gsc); in gsc_to_gt()
173 int xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in, in xe_gsc_pkt_submit_kernel() argument
176 struct xe_gt *gt = gsc_to_gt(gsc); in xe_gsc_pkt_submit_kernel()
201 job = xe_bb_create_job(gsc->q, bb); in xe_gsc_pkt_submit_kernel()
H A Dxe_uc.c68 ret = xe_gsc_init(&uc->gsc); in xe_uc_init()
117 return xe_gsc_init_post_hwconfig(&uc->gsc); in xe_uc_init_post_hwconfig()
226 xe_gsc_load_start(&uc->gsc); in xe_uc_load_hw()
251 xe_gsc_stop_prepare(&uc->gsc); in xe_uc_stop_prepare()
287 xe_gsc_wait_for_worker_completion(&uc->gsc); in xe_uc_suspend_prepare()
/linux/drivers/mfd/
H A 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/drivers/media/platform/samsung/exynos-gsc/
H A 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 …]
H A DMakefile2 exynos-gsc-objs := gsc-core.o gsc-m2m.o gsc-regs.o
4 obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc.o
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_gsc.c43 gsc_ext_om_alloc(struct intel_gsc *gsc, struct intel_gsc_intf *intf, size_t size) in gsc_ext_om_alloc() argument
45 struct intel_gt *gt = gsc_to_gt(gsc); in gsc_ext_om_alloc()
129 struct intel_gsc *gsc, unsigned int intf_id) in gsc_destroy_one() argument
131 struct intel_gsc_intf *intf = &gsc->intf[intf_id]; in gsc_destroy_one()
137 intel_huc_unregister_gsc_notifier(&gsc_to_gt(gsc)->uc.huc, in gsc_destroy_one()
152 static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc, in gsc_init_one() argument
159 struct intel_gsc_intf *intf = &gsc->intf[intf_id]; in gsc_init_one()
168 if (gsc_to_gt(gsc)->info.id != 0) { in gsc_init_one()
214 if (gsc_ext_om_alloc(gsc, intf, def->lmem_size)) { in gsc_init_one()
249 intel_huc_register_gsc_notifier(&gsc_to_gt(gsc)->uc.huc, in gsc_init_one()
[all …]
H A Dintel_gsc.h39 void intel_gsc_init(struct intel_gsc *gsc, struct drm_i915_private *i915);
40 void intel_gsc_fini(struct intel_gsc *gsc);
H A Dintel_gt.h114 return container_of(gsc_uc, struct intel_gt, uc.gsc); in gsc_uc_to_gt()
117 static inline struct intel_gt *gsc_to_gt(struct intel_gsc *gsc) in gsc_to_gt() argument
119 return container_of(gsc, struct intel_gt, gsc); in gsc_to_gt()
/linux/arch/arm64/boot/dts/freescale/
H A Dimx8mp-venice-gw702x.dtsi35 interrupt-parent = <&gsc>;
42 interrupt-parent = <&gsc>;
49 interrupt-parent = <&gsc>;
56 interrupt-parent = <&gsc>;
63 interrupt-parent = <&gsc>;
141 gsc: gsc@20 { label
142 compatible = "gw,gsc";
153 compatible = "gw,gsc-adc";
248 compatible = "gw,gsc-fan";
258 interrupt-parent = <&gsc>;
H A Dimx8mm-venice-gw700x.dtsi34 interrupt-parent = <&gsc>;
41 interrupt-parent = <&gsc>;
48 interrupt-parent = <&gsc>;
55 interrupt-parent = <&gsc>;
62 interrupt-parent = <&gsc>;
155 gsc: gsc@20 { label
156 compatible = "gw,gsc";
167 compatible = "gw,gsc-adc";
263 compatible = "gw,gsc-fan";
273 interrupt-parent = <&gsc>;
H A Dimx8mm-venice-gw7904.dts45 interrupt-parent = <&gsc>;
52 interrupt-parent = <&gsc>;
59 interrupt-parent = <&gsc>;
66 interrupt-parent = <&gsc>;
330 gsc: gsc@20 { label
331 compatible = "gw,gsc";
342 compatible = "gw,gsc-adc";
418 interrupt-parent = <&gsc>;
H A Dimx8mm-venice-gw7903.dts47 interrupt-parent = <&gsc>;
54 interrupt-parent = <&gsc>;
61 interrupt-parent = <&gsc>;
68 interrupt-parent = <&gsc>;
277 gsc: gsc@20 { label
278 compatible = "gw,gsc";
289 compatible = "gw,gsc-adc";
371 interrupt-parent = <&gsc>;
/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6qdl-gw5903.dtsi46 interrupt-parent = <&gsc>;
53 interrupt-parent = <&gsc>;
60 interrupt-parent = <&gsc>;
67 interrupt-parent = <&gsc>;
74 interrupt-parent = <&gsc>;
191 gsc: gsc@20 { label
192 compatible = "gw,gsc";
202 compatible = "gw,gsc-adc";
285 interrupt-parent = <&gsc>;
H A Dimx6qdl-gw560x.dtsi62 interrupt-parent = <&gsc>;
69 interrupt-parent = <&gsc>;
76 interrupt-parent = <&gsc>;
83 interrupt-parent = <&gsc>;
90 interrupt-parent = <&gsc>;
250 gsc: gsc@20 { label
251 compatible = "gw,gsc";
261 compatible = "gw,gsc-adc";
356 interrupt-parent = <&gsc>;

12