/linux-master/drivers/media/platform/samsung/exynos-gsc/ |
H A D | Makefile | 2 exynos-gsc-objs := gsc-core.o gsc-m2m.o gsc-regs.o 4 obj-$(CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC) += exynos-gsc.o
|
H A D | gsc-m2m.c | 25 #include "gsc-core.h" 30 struct gsc_dev *gsc = ctx->gsc_dev; local 33 curr_ctx = v4l2_m2m_get_curr_priv(gsc->m2m.m2m_dev); 34 if (!gsc_m2m_pending(gsc) || (curr_ctx != ctx)) 38 ret = wait_event_timeout(gsc->irq_queue, 147 struct gsc_dev *gsc; local 155 gsc = ctx->gsc_dev; 156 spin_lock_irqsave(&gsc->slock, flags); 158 set_bit(ST_M2M_PEND, &gsc->state); 161 if (gsc 365 struct gsc_dev *gsc = ctx->gsc_dev; local 608 struct gsc_dev *gsc = video_drvdata(file); local 672 struct gsc_dev *gsc = ctx->gsc_dev; local 696 struct gsc_dev *gsc = ctx->gsc_dev; local 711 struct gsc_dev *gsc = ctx->gsc_dev; local 737 gsc_register_m2m_device(struct gsc_dev *gsc) argument 783 gsc_unregister_m2m_device(struct gsc_dev *gsc) argument [all...] |
H A D | gsc-core.c | 25 #include "gsc-core.h" 339 void gsc_set_prefbuf(struct gsc_dev *gsc, struct gsc_frame *frm) argument 390 struct gsc_dev *gsc = ctx->gsc_dev; local 391 struct gsc_variant *variant = gsc->variant; 519 struct gsc_dev *gsc = ctx->gsc_dev; local 520 struct gsc_variant *variant = gsc->variant; 699 struct gsc_dev *gsc = ctx->gsc_dev; local 700 struct gsc_variant *variant = gsc->variant; 861 struct gsc_dev *gsc = priv; local 865 gsc_irq = gsc_hw_get_irq_status(gsc); 1106 struct gsc_dev *gsc; local 1205 struct gsc_dev *gsc = platform_get_drvdata(pdev); local 1225 gsc_m2m_suspend(struct gsc_dev *gsc) argument 1247 gsc_m2m_resume(struct gsc_dev *gsc) argument 1264 struct gsc_dev *gsc = dev_get_drvdata(dev); local 1288 struct gsc_dev *gsc = dev_get_drvdata(dev); local [all...] |
/linux-master/drivers/gpu/drm/i915/gt/uc/ |
H A D | intel_gsc_proxy.h | 13 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 D | intel_gsc_uc.c | 18 struct intel_gsc_uc *gsc = container_of(work, typeof(*gsc), work); local 19 struct intel_gt *gt = gsc_uc_to_gt(gsc); 27 actions = gsc->gsc_work_actions; 28 gsc->gsc_work_actions = 0; 32 ret = intel_gsc_uc_fw_upload(gsc); 59 if (!intel_gsc_uc_fw_init_done(gsc)) { 64 ret = intel_gsc_proxy_request_handler(gsc); 72 intel_uc_fw_change_status(&gsc->fw, INTEL_UC_FIRMWARE_LOAD_FAIL); 84 if (intel_gsc_uc_fw_proxy_init_done(gsc, fals 118 intel_gsc_uc_init_early(struct intel_gsc_uc *gsc) argument 146 gsc_allocate_and_map_vma(struct intel_gsc_uc *gsc, u32 size) argument 198 gsc_unmap_and_free_vma(struct intel_gsc_uc *gsc) argument 210 intel_gsc_uc_init(struct intel_gsc_uc *gsc) argument 253 intel_gsc_uc_fini(struct intel_gsc_uc *gsc) argument 274 intel_gsc_uc_flush_work(struct intel_gsc_uc *gsc) argument 282 intel_gsc_uc_resume(struct intel_gsc_uc *gsc) argument 301 intel_gsc_uc_load_start(struct intel_gsc_uc *gsc) argument 318 intel_gsc_uc_load_status(struct intel_gsc_uc *gsc, struct drm_printer *p) argument [all...] |
H A D | intel_gsc_fw.h | 16 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 D | intel_gsc_uc.h | 60 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) argument 71 return intel_uc_fw_is_supported(&gsc 74 intel_gsc_uc_is_wanted(struct intel_gsc_uc *gsc) argument 79 intel_gsc_uc_is_used(struct intel_gsc_uc *gsc) argument [all...] |
H A D | intel_gsc_uc_debugfs.h | 12 void intel_gsc_uc_debugfs_register(struct intel_gsc_uc *gsc, struct dentry *root);
|
H A D | intel_gsc_proxy.c | 84 static int proxy_send_to_csme(struct intel_gsc_uc *gsc) argument 86 struct intel_gt *gt = gsc_uc_to_gt(gsc); 87 struct i915_gsc_proxy_component *comp = gsc->proxy.component; 89 void *in = gsc->proxy.to_csme; 90 void *out = gsc->proxy.to_gsc; 123 static int proxy_send_to_gsc(struct intel_gsc_uc *gsc) argument 125 struct intel_gt *gt = gsc_uc_to_gt(gsc); 126 u32 *marker = gsc->proxy.to_csme; /* first dw of the reply header */ 127 u64 addr_in = i915_ggtt_offset(gsc->proxy.vma); 129 u32 size = ((struct gsc_proxy_msg *)gsc 186 proxy_query(struct intel_gsc_uc *gsc) argument 255 intel_gsc_proxy_request_handler(struct intel_gsc_uc *gsc) argument 290 intel_gsc_proxy_irq_handler(struct intel_gsc_uc *gsc, u32 iir) argument 313 struct intel_gsc_uc *gsc = >->uc.gsc; local 335 struct intel_gsc_uc *gsc = >->uc.gsc; local 354 proxy_channel_alloc(struct intel_gsc_uc *gsc) argument 373 proxy_channel_free(struct intel_gsc_uc *gsc) argument 383 intel_gsc_proxy_fini(struct intel_gsc_uc *gsc) argument 394 intel_gsc_proxy_init(struct intel_gsc_uc *gsc) argument [all...] |
H A D | intel_gsc_uc_debugfs.c | 18 struct intel_gsc_uc *gsc = m->private; local 20 if (!intel_gsc_uc_is_supported(gsc)) 23 intel_gsc_uc_load_status(gsc, &p);
|
H A D | intel_gsc_fw.c | 40 bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref) argument 43 gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, 48 int intel_gsc_uc_fw_proxy_get_status(struct intel_gsc_uc *gsc) argument 52 if (!intel_uc_fw_is_loadable(&gsc->fw)) 54 if (__intel_uc_fw_status(&gsc->fw) == INTEL_UC_FIRMWARE_LOAD_FAIL) 56 if (!intel_gsc_uc_fw_proxy_init_done(gsc, true)) 62 bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc) argument 64 return gsc_uc_get_fw_status(gsc_uc_to_gt(gsc)->uncore, false) & 75 struct intel_gsc_uc *gsc = container_of(gsc_fw, struct intel_gsc_uc, fw); local 76 struct intel_gt *gt = gsc_uc_to_gt(gsc); 218 emit_gsc_fw_load(struct i915_request *rq, struct intel_gsc_uc *gsc) argument 237 gsc_fw_load(struct intel_gsc_uc *gsc) argument 282 gsc_fw_load_prepare(struct intel_gsc_uc *gsc) argument 344 gsc_fw_query_compatibility_version(struct intel_gsc_uc *gsc) argument 399 intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc) argument [all...] |
H A D | intel_gsc_uc_heci_cmd_submit.h | 67 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-master/drivers/gpu/drm/xe/ |
H A D | xe_gsc.h | 13 int xe_gsc_init(struct xe_gsc *gsc); 14 int xe_gsc_init_post_hwconfig(struct xe_gsc *gsc); 15 void xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc); 16 void xe_gsc_load_start(struct xe_gsc *gsc); 17 void xe_gsc_remove(struct xe_gsc *gsc);
|
H A D | xe_gsc_proxy.h | 13 int xe_gsc_proxy_init(struct xe_gsc *gsc); 14 void xe_gsc_proxy_remove(struct xe_gsc *gsc); 15 int xe_gsc_proxy_start(struct xe_gsc *gsc); 17 int xe_gsc_proxy_request_handler(struct xe_gsc *gsc); 18 void xe_gsc_proxy_irq_handler(struct xe_gsc *gsc, u32 iir);
|
H A D | xe_gsc_proxy.c | 59 gsc_to_gt(struct xe_gsc *gsc) argument 61 return container_of(gsc, struct xe_gt, uc.gsc); 69 static bool gsc_proxy_init_done(struct xe_gsc *gsc) argument 71 struct xe_gt *gt = gsc_to_gt(gsc); 78 static void __gsc_proxy_irq_rmw(struct xe_gsc *gsc, u32 clr, u32 set) argument 80 struct xe_gt *gt = gsc_to_gt(gsc); 88 static void gsc_proxy_irq_clear(struct xe_gsc *gsc) argument 91 __gsc_proxy_irq_rmw(gsc, 0, HECI_H_CSR_IS); 94 static void gsc_proxy_irq_toggle(struct xe_gsc *gsc, boo argument 102 proxy_send_to_csme(struct xe_gsc *gsc, u32 size) argument 123 proxy_send_to_gsc(struct xe_gsc *gsc, u32 size) argument 193 proxy_query(struct xe_gsc *gsc) argument 292 xe_gsc_proxy_request_handler(struct xe_gsc *gsc) argument 325 xe_gsc_proxy_irq_handler(struct xe_gsc *gsc, u32 iir) argument 349 struct xe_gsc *gsc = >->uc.gsc; local 364 struct xe_gsc *gsc = >->uc.gsc; local 380 struct xe_gsc *gsc = arg; local 399 proxy_channel_alloc(struct xe_gsc *gsc) argument 440 xe_gsc_proxy_init(struct xe_gsc *gsc) argument 482 xe_gsc_proxy_remove(struct xe_gsc *gsc) argument 516 xe_gsc_proxy_start(struct xe_gsc *gsc) argument [all...] |
H A D | xe_gsc.c | 31 gsc_to_gt(struct xe_gsc *gsc) argument 33 return container_of(gsc, struct xe_gt, uc.gsc); 36 static int memcpy_fw(struct xe_gsc *gsc) argument 38 struct xe_gt *gt = gsc_to_gt(gsc); 40 u32 fw_size = gsc->fw.size; 51 xe_map_memcpy_from(xe, storage, &gsc->fw.bo->vmap, 0, fw_size); 52 xe_map_memcpy_to(xe, &gsc->private->vmap, 0, storage, fw_size); 53 xe_map_memset(xe, &gsc->private->vmap, fw_size, 0, gsc 60 emit_gsc_upload(struct xe_gsc *gsc) argument 116 query_compatibility_version(struct xe_gsc *gsc) argument 190 gsc_upload(struct xe_gsc *gsc) argument 250 gsc_upload_and_init(struct xe_gsc *gsc) argument 277 struct xe_gsc *gsc = container_of(work, typeof(*gsc), work); local 306 xe_gsc_init(struct xe_gsc *gsc) argument 348 struct xe_gsc *gsc = arg; local 366 xe_gsc_init_post_hwconfig(struct xe_gsc *gsc) argument 425 xe_gsc_load_start(struct xe_gsc *gsc) argument 445 xe_gsc_wait_for_worker_completion(struct xe_gsc *gsc) argument 455 xe_gsc_remove(struct xe_gsc *gsc) argument [all...] |
H A D | xe_uc_types.h | 22 /** @gsc: Graphics Security Controller */ 23 struct xe_gsc gsc; member in struct:xe_uc
|
H A D | xe_gsc_submit.c | 38 gsc_to_gt(struct xe_gsc *gsc) argument 40 return container_of(gsc, struct xe_gt, uc.gsc); 116 * @min_payload_size: minimum size of the message excluding the gsc header 151 * @gsc: the GSC uC 157 int xe_gsc_pkt_submit_kernel(struct xe_gsc *gsc, u64 addr_in, u32 size_in, argument 160 struct xe_gt *gt = gsc_to_gt(gsc); 185 job = xe_bb_create_job(gsc->q, bb);
|
H A D | xe_uc.c | 52 ret = xe_gsc_init(&uc->gsc); 107 return xe_gsc_init_post_hwconfig(&uc->gsc); 199 xe_gsc_load_start(&uc->gsc); 225 xe_gsc_wait_for_worker_completion(&uc->gsc); 286 xe_gsc_remove(&uc->gsc);
|
/linux-master/drivers/mfd/ |
H A D | gateworks-gsc.c | 15 #include <linux/mfd/gsc.h> 76 static int gsc_powerdown(struct gsc_dev *gsc, unsigned long secs) argument 81 dev_info(&gsc->i2c->dev, "GSC powerdown for %ld seconds\n", 85 ret = regmap_bulk_write(gsc->regmap, GSC_TIME_ADD, regs, 4); 89 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1, 95 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1, 108 struct gsc_dev *gsc = dev_get_drvdata(dev); local 113 rz = sprintf(buf, "%d\n", gsc->fwver); 115 rz = sprintf(buf, "0x%04x\n", gsc->fwcrc); 125 struct gsc_dev *gsc local 200 struct gsc_dev *gsc; local [all...] |
/linux-master/drivers/gpu/drm/i915/gt/ |
H A D | intel_gsc.h | 24 * @intf: gsc interface 39 void intel_gsc_init(struct intel_gsc *gsc, struct drm_i915_private *i915); 40 void intel_gsc_fini(struct intel_gsc *gsc);
|
H A D | intel_gsc.c | 43 gsc_ext_om_alloc(struct intel_gsc *gsc, struct intel_gsc_intf *intf, size_t size) argument 45 struct intel_gt *gt = gsc_to_gt(gsc); 53 gt_err(gt, "Failed to allocate gsc memory\n"); 59 gt_err(gt, "Failed to pin pages for gsc memory\n"); 94 /* gsc resources and definitions (HECI1 and HECI2) */ 121 .name = "mei-gsc", 142 struct intel_gsc *gsc, unsigned int intf_id) 144 struct intel_gsc_intf *intf = &gsc->intf[intf_id]; 150 intel_huc_unregister_gsc_notifier(&gsc_to_gt(gsc)->uc.huc, 165 static void gsc_init_one(struct drm_i915_private *i915, struct intel_gsc *gsc, argument 141 gsc_destroy_one(struct drm_i915_private *i915, struct intel_gsc *gsc, unsigned int intf_id) argument 315 intel_gsc_init(struct intel_gsc *gsc, struct drm_i915_private *i915) argument 326 intel_gsc_fini(struct intel_gsc *gsc) argument [all...] |
/linux-master/drivers/media/platform/samsung/ |
H A D | Makefile | 2 obj-y += exynos-gsc/
|
/linux-master/drivers/misc/mei/ |
H A D | Makefile | 21 obj-$(CONFIG_INTEL_MEI_GSC) += mei-gsc.o 22 mei-gsc-objs := gsc-me.o
|
/linux-master/drivers/parisc/ |
H A D | Makefile | 7 # - gsc is required before lasi and wax 17 obj-$(CONFIG_GSC) += gsc.o
|