| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_guc_log.c | 69 struct xe_guc_log_snapshot *snapshot; in xe_guc_log_snapshot_alloc() local 73 snapshot = kzalloc(sizeof(*snapshot), atomic ? GFP_ATOMIC : GFP_KERNEL); in xe_guc_log_snapshot_alloc() 74 if (!snapshot) in xe_guc_log_snapshot_alloc() 82 snapshot->size = xe_bo_size(log->bo); in xe_guc_log_snapshot_alloc() 83 snapshot->num_chunks = DIV_ROUND_UP(snapshot->size, GUC_LOG_CHUNK_SIZE); in xe_guc_log_snapshot_alloc() 85 snapshot->copy = kcalloc(snapshot->num_chunks, sizeof(*snapshot->copy), in xe_guc_log_snapshot_alloc() 87 if (!snapshot->copy) in xe_guc_log_snapshot_alloc() 90 remain = snapshot->size; in xe_guc_log_snapshot_alloc() 91 for (i = 0; i < snapshot->num_chunks; i++) { in xe_guc_log_snapshot_alloc() 94 snapshot->copy[i] = kmalloc(size, atomic ? GFP_ATOMIC : GFP_KERNEL); in xe_guc_log_snapshot_alloc() [all …]
|
| H A D | xe_gt_sriov_pf_migration.c | 135 return >->sriov.pf.vfs[vfid].snapshot; in pf_pick_vf_snapshot() 138 static unsigned int pf_snapshot_index(struct xe_gt *gt, struct xe_gt_sriov_state_snapshot *snapshot) in pf_snapshot_index() argument 140 return container_of(snapshot, struct xe_gt_sriov_metadata, snapshot) - gt->sriov.pf.vfs; in pf_snapshot_index() 143 static void pf_free_guc_state(struct xe_gt *gt, struct xe_gt_sriov_state_snapshot *snapshot) in pf_free_guc_state() argument 147 drmm_kfree(&xe->drm, snapshot->guc.buff); in pf_free_guc_state() 148 snapshot->guc.buff = NULL; in pf_free_guc_state() 149 snapshot->guc.size = 0; in pf_free_guc_state() 153 struct xe_gt_sriov_state_snapshot *snapshot, in pf_alloc_guc_state() argument 159 pf_free_guc_state(gt, snapshot); in pf_alloc_guc_state() 174 snapshot->guc.buff = p; in pf_alloc_guc_state() [all …]
|
| H A D | xe_guc_submit.c | 2395 struct xe_guc_submit_exec_queue_snapshot *snapshot) in guc_exec_queue_wq_snapshot_capture() argument 2402 snapshot->guc.wqi_head = q->guc->wqi_head; in guc_exec_queue_wq_snapshot_capture() 2403 snapshot->guc.wqi_tail = q->guc->wqi_tail; in guc_exec_queue_wq_snapshot_capture() 2404 snapshot->parallel.wq_desc.head = parallel_read(xe, map, wq_desc.head); in guc_exec_queue_wq_snapshot_capture() 2405 snapshot->parallel.wq_desc.tail = parallel_read(xe, map, wq_desc.tail); in guc_exec_queue_wq_snapshot_capture() 2406 snapshot->parallel.wq_desc.status = parallel_read(xe, map, in guc_exec_queue_wq_snapshot_capture() 2409 if (snapshot->parallel.wq_desc.head != in guc_exec_queue_wq_snapshot_capture() 2410 snapshot->parallel.wq_desc.tail) { in guc_exec_queue_wq_snapshot_capture() 2411 for (i = snapshot->parallel.wq_desc.head; in guc_exec_queue_wq_snapshot_capture() 2412 i != snapshot->parallel.wq_desc.tail; in guc_exec_queue_wq_snapshot_capture() [all …]
|
| H A D | xe_sched_job.c | 336 struct xe_sched_job_snapshot *snapshot; in xe_sched_job_snapshot_capture() local 337 size_t len = sizeof(*snapshot) + (sizeof(u64) * q->width); in xe_sched_job_snapshot_capture() 340 snapshot = kzalloc(len, GFP_ATOMIC); in xe_sched_job_snapshot_capture() 341 if (!snapshot) in xe_sched_job_snapshot_capture() 344 snapshot->batch_addr_len = q->width; in xe_sched_job_snapshot_capture() 346 snapshot->batch_addr[i] = in xe_sched_job_snapshot_capture() 349 return snapshot; in xe_sched_job_snapshot_capture() 352 void xe_sched_job_snapshot_free(struct xe_sched_job_snapshot *snapshot) in xe_sched_job_snapshot_free() argument 354 kfree(snapshot); in xe_sched_job_snapshot_free() 358 xe_sched_job_snapshot_print(struct xe_sched_job_snapshot *snapshot, in xe_sched_job_snapshot_print() argument [all …]
|
| H A D | xe_lrc.c | 2215 struct xe_lrc_snapshot *snapshot = kmalloc(sizeof(*snapshot), GFP_NOWAIT); in xe_lrc_snapshot_capture() local 2217 if (!snapshot) in xe_lrc_snapshot_capture() 2220 snapshot->context_desc = xe_lrc_ggtt_addr(lrc); in xe_lrc_snapshot_capture() 2221 snapshot->ring_addr = __xe_lrc_ring_ggtt_addr(lrc); in xe_lrc_snapshot_capture() 2222 snapshot->indirect_context_desc = xe_lrc_indirect_ring_ggtt_addr(lrc); in xe_lrc_snapshot_capture() 2223 snapshot->head = xe_lrc_ring_head(lrc); in xe_lrc_snapshot_capture() 2224 snapshot->tail.internal = lrc->ring.tail; in xe_lrc_snapshot_capture() 2225 snapshot->tail.memory = xe_lrc_ring_tail(lrc); in xe_lrc_snapshot_capture() 2226 snapshot->start = xe_lrc_ring_start(lrc); in xe_lrc_snapshot_capture() 2227 snapshot->start_seqno = xe_lrc_start_seqno(lrc); in xe_lrc_snapshot_capture() [all …]
|
| H A D | xe_hw_engine.c | 891 struct xe_hw_engine_snapshot *snapshot; in xe_hw_engine_snapshot_capture() local 897 snapshot = kzalloc(sizeof(*snapshot), GFP_ATOMIC); in xe_hw_engine_snapshot_capture() 899 if (!snapshot) in xe_hw_engine_snapshot_capture() 902 snapshot->name = kstrdup(hwe->name, GFP_ATOMIC); in xe_hw_engine_snapshot_capture() 903 snapshot->hwe = hwe; in xe_hw_engine_snapshot_capture() 904 snapshot->logical_instance = hwe->logical_instance; in xe_hw_engine_snapshot_capture() 905 snapshot->forcewake.domain = hwe->domain; in xe_hw_engine_snapshot_capture() 906 snapshot->forcewake.ref = xe_force_wake_ref(gt_to_fw(hwe->gt), in xe_hw_engine_snapshot_capture() 908 snapshot->mmio_base = hwe->mmio_base; in xe_hw_engine_snapshot_capture() 909 snapshot->kernel_reserved = xe_hw_engine_is_reserved(hwe); in xe_hw_engine_snapshot_capture() [all …]
|
| H A D | xe_guc_ct.c | 1982 struct xe_guc_ct_snapshot *snapshot; in guc_ct_snapshot_alloc() local 1984 snapshot = kzalloc(sizeof(*snapshot), atomic ? GFP_ATOMIC : GFP_KERNEL); in guc_ct_snapshot_alloc() 1985 if (!snapshot) in guc_ct_snapshot_alloc() 1989 snapshot->ctb_size = xe_bo_size(ct->bo); in guc_ct_snapshot_alloc() 1990 snapshot->ctb = kmalloc(snapshot->ctb_size, atomic ? GFP_ATOMIC : GFP_KERNEL); in guc_ct_snapshot_alloc() 1993 return snapshot; in guc_ct_snapshot_alloc() 1997 struct guc_ctb_snapshot *snapshot) in guc_ctb_snapshot_capture() argument 1999 xe_map_memcpy_from(xe, &snapshot->desc, &ctb->desc, 0, in guc_ctb_snapshot_capture() 2001 memcpy(&snapshot->info, &ctb->info, sizeof(struct guc_ctb_info)); in guc_ctb_snapshot_capture() 2004 static void guc_ctb_snapshot_print(struct guc_ctb_snapshot *snapshot, in guc_ctb_snapshot_print() argument [all …]
|
| H A D | xe_devcoredump.c | 95 ss = &coredump->snapshot; in __xe_devcoredump_read() 204 ss = &coredump->snapshot; in xe_devcoredump_read() 258 cancel_work_sync(&coredump->snapshot.work); in xe_devcoredump_free() 262 xe_devcoredump_snapshot_free(&coredump->snapshot); in xe_devcoredump_free() 263 kvfree(coredump->snapshot.read.buffer); in xe_devcoredump_free() 266 memset(&coredump->snapshot, 0, sizeof(coredump->snapshot)); in xe_devcoredump_free() 277 struct xe_devcoredump *coredump = container_of(ss, typeof(*coredump), snapshot); in xe_devcoredump_deferred_snap_work() 332 struct xe_devcoredump_snapshot *ss = &coredump->snapshot; in devcoredump_snapshot() 399 coredump->snapshot.reason = kvasprintf(GFP_ATOMIC, fmt, varg); in xe_devcoredump()
|
| H A D | xe_guc_capture.c | 1579 xe_engine_manual_capture(struct xe_hw_engine *hwe, struct xe_hw_engine_snapshot *snapshot) in xe_engine_manual_capture() argument 1632 struct xe_guc_submit_exec_queue_snapshot *ge = devcoredump->snapshot.ge; in xe_engine_manual_capture() 1650 devcoredump->snapshot.matched_node = new; in xe_engine_manual_capture() 1671 snapshot_print_by_list_order(struct xe_hw_engine_snapshot *snapshot, struct drm_printer *p, in snapshot_print_by_list_order() argument 1674 struct xe_gt *gt = snapshot->hwe->gt; in snapshot_print_by_list_order() 1677 struct xe_devcoredump_snapshot *devcore_snapshot = &devcoredump->snapshot; in snapshot_print_by_list_order() 1777 void xe_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot, struct drm_printer *p) in xe_engine_snapshot_print() argument 1792 if (!snapshot) in xe_engine_snapshot_print() 1795 gt = snapshot->hwe->gt; in xe_engine_snapshot_print() 1798 devcore_snapshot = &devcoredump->snapshot; in xe_engine_snapshot_print() [all …]
|
| H A D | xe_guc_submit.h | 44 xe_guc_exec_queue_snapshot_capture_delayed(struct xe_guc_submit_exec_queue_snapshot *snapshot); 46 xe_guc_exec_queue_snapshot_print(struct xe_guc_submit_exec_queue_snapshot *snapshot, 49 xe_guc_exec_queue_snapshot_free(struct xe_guc_submit_exec_queue_snapshot *snapshot);
|
| /linux/drivers/gpu/drm/i915/display/ |
| H A D | intel_display_snapshot.c | 29 struct intel_display_snapshot *snapshot; in intel_display_snapshot_capture() local 31 snapshot = kzalloc(sizeof(*snapshot), GFP_ATOMIC); in intel_display_snapshot_capture() 32 if (!snapshot) in intel_display_snapshot_capture() 35 snapshot->display = display; in intel_display_snapshot_capture() 37 memcpy(&snapshot->info, DISPLAY_INFO(display), sizeof(snapshot->info)); in intel_display_snapshot_capture() 38 memcpy(&snapshot->runtime_info, DISPLAY_RUNTIME_INFO(display), in intel_display_snapshot_capture() 39 sizeof(snapshot->runtime_info)); in intel_display_snapshot_capture() 41 intel_display_params_copy(&snapshot->params); in intel_display_snapshot_capture() 43 snapshot->irq = intel_display_irq_snapshot_capture(display); in intel_display_snapshot_capture() 44 snapshot->overlay = intel_overlay_snapshot_capture(display); in intel_display_snapshot_capture() [all …]
|
| H A D | intel_display_snapshot.h | 12 void intel_display_snapshot_print(const struct intel_display_snapshot *snapshot, 14 void intel_display_snapshot_free(struct intel_display_snapshot *snapshot);
|
| /linux/Documentation/admin-guide/device-mapper/ |
| H A D | snapshot.rst | 2 Device-mapper snapshot support 12 - To merge a snapshot of a block device back into the snapshot's origin 19 For snapshot merge the contents of the COW storage are merged back into 24 snapshot, snapshot-origin, and snapshot-merge. 26 - snapshot-origin <origin> 30 original data will be saved in the <COW device> of each snapshot to keep 34 - snapshot <origin> <COW device> <persistent?> <chunksize> 37 A snapshot of the <origin> block device is created. Changed chunks of 41 smaller than the origin and if it fills up the snapshot will become 48 snapshot status. So supported store types are "P", "PO" and "N". [all …]
|
| H A D | era.rst | 16 coherency after rolling back a vendor snapshot. 50 Drop the metadata snapshot. 73 snapshot was the primary use case when developing this target: 75 Taking a vendor snapshot 80 - Take vendor snapshot (the era and snapshot should be forever 83 Rolling back to an vendor snapshot 88 - Take metadata snapshot 89 - Ascertain which blocks have been written since the snapshot was taken
|
| /linux/Documentation/networking/devlink/ |
| H A D | devlink-region.rst | 18 All snapshots with the same snapshot id within a devlink instance 27 Regions may optionally support capturing a snapshot on demand via the 29 requested snapshots must implement the ``.snapshot`` callback for the region 30 in its ``devlink_region_ops`` structure. If snapshot id is not set in 32 the snapshot information to user space. 35 snapshot. Direct read requests are not atomic. In particular a read request 37 access is required, use a snapshot. A driver wishing to enable this for a 40 ``DEVLINK_ATTR_REGION_DIRECT`` attribute instead of specifying a snapshot 50 $ devlink region del DEV/REGION snapshot SNAPSHOT_ID 51 $ devlink region dump DEV/REGION [ snapshot SNAPSHOT_ID ] [all …]
|
| H A D | iosm.rst | 100 In case a firmware encounters an exception, a snapshot will be taken by the 130 $ devlink region dump pci/0000:02:00.0/report.json snapshot 0 132 $ devlink region del pci/0000:02:00.0/report.json snapshot 0 136 $ devlink region dump pci/0000:02:00.0/coredump.fcd snapshot 1 138 $ devlink region del pci/0000:02:00.0/coredump.fcd snapshot 1 142 $ devlink region dump pci/0000:02:00.0/cdd.log snapshot 2 144 $ devlink region del pci/0000:02:00.0/cdd.log snapshot 2 148 $ devlink region dump pci/0000:02:00.0/eeprom.bin snapshot 3 150 $ devlink region del pci/0000:02:00.0/eeprom.bin snapshot 3 154 $ devlink region dump pci/0000:02:00.0/bootcore_trace.bin snapshot 4 [all …]
|
| H A D | ixgbe.rst | 148 snapshot. The ``device-caps`` region requires a snapshot as the contents are 151 Users can request an immediate capture of a snapshot for all three regions 157 pci/0000:01:00.0/nvm-flash: size 10485760 snapshot [] max 1 158 pci/0000:01:00.0/device-caps: size 4096 snapshot [] max 10 160 $ devlink region new pci/0000:01:00.0/nvm-flash snapshot 1 162 $ devlink region dump pci/0000:01:00.0/nvm-flash snapshot 1 168 $ devlink region read pci/0000:01:00.0/nvm-flash snapshot 1 address 0 length 16 171 $ devlink region delete pci/0000:01:00.0/device-caps snapshot 1
|
| /linux/net/devlink/ |
| H A D | region.c | 62 struct devlink_snapshot *snapshot; in devlink_region_snapshot_get_by_id() local 64 list_for_each_entry(snapshot, ®ion->snapshot_list, list) in devlink_region_snapshot_get_by_id() 65 if (snapshot->id == id) in devlink_region_snapshot_get_by_id() 66 return snapshot; in devlink_region_snapshot_get_by_id() 73 struct devlink_snapshot *snapshot) in devlink_nl_region_snapshot_id_put() argument 82 err = nla_put_u32(msg, DEVLINK_ATTR_REGION_SNAPSHOT_ID, snapshot->id); in devlink_nl_region_snapshot_id_put() 98 struct devlink_snapshot *snapshot; in devlink_nl_region_snapshots_id_put() local 107 list_for_each_entry(snapshot, ®ion->snapshot_list, list) { in devlink_nl_region_snapshots_id_put() 108 err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot); in devlink_nl_region_snapshots_id_put() 171 struct devlink_snapshot *snapshot, in devlink_nl_region_notify_build() argument [all …]
|
| /linux/Documentation/power/ |
| H A D | userland-swsusp.rst | 13 utilities that will read/write the system memory snapshot from/to the 22 be read from /sys/class/misc/snapshot/dev. 45 create a snapshot of the system memory; the 48 creating the snapshot (1) or after restoring the system memory state 50 SNAPSHOT_CREATE_IMAGE ioctl() again); after the snapshot 56 uploaded snapshot image; before calling it you should transfer 57 the system memory snapshot back to the kernel using the write() 58 operation; this call will not succeed if the snapshot 62 free memory allocated for the snapshot image 118 The device's read() operation can be used to transfer the snapshot image from [all …]
|
| /linux/tools/testing/selftests/ftrace/test.d/trigger/ |
| H A D | trigger-snapshot.tc | 11 FEATURE=`grep snapshot events/sched/sched_process_fork/trigger` 18 echo 0 > snapshot 23 grep sched_process_fork snapshot > /dev/null || \ 27 echo 0 > snapshot
|
| /linux/tools/testing/selftests/ftrace/test.d/00basic/ |
| H A D | snapshot.tc | 10 echo 1 > snapshot 13 grep -q "Snapshot is allocated" snapshot 22 echo 1 > snapshot
|
| /linux/kernel/power/ |
| H A D | swap.c | 534 struct snapshot_handle *snapshot, in save_image() argument 555 ret = snapshot_read_next(snapshot); in save_image() 558 ret = swap_write_page(handle, data_of(*snapshot), &hb); in save_image() 681 struct snapshot_handle *snapshot, in save_compressed_image() argument 799 ret = snapshot_read_next(snapshot); in save_compressed_image() 807 data_of(*snapshot), PAGE_SIZE); in save_compressed_image() 938 struct snapshot_handle snapshot; in swsusp_write() local 956 memset(&snapshot, 0, sizeof(struct snapshot_handle)); in swsusp_write() 957 error = snapshot_read_next(&snapshot); in swsusp_write() 964 header = (struct swsusp_info *)data_of(snapshot); in swsusp_write() [all …]
|
| /linux/tools/testing/selftests/drivers/net/netdevsim/ |
| H A D | devlink.sh | 172 check_region_snapshot_count dummy post-first-snapshot 1 176 check_region_snapshot_count dummy post-second-snapshot 2 180 check_region_snapshot_count dummy post-third-snapshot 3 182 devlink region del $DL_HANDLE/dummy snapshot 1 187 devlink region new $DL_HANDLE/dummy snapshot 25 192 devlink region dump $DL_HANDLE/dummy snapshot 25 >> /dev/null 195 devlink region read $DL_HANDLE/dummy snapshot 25 addr 0 len 1 >> /dev/null 198 devlink region read $DL_HANDLE/dummy snapshot 25 addr 128 len 128 >> /dev/null 201 devlink region read $DL_HANDLE/dummy snapshot 25 addr 128 len $((1<<32)) >> /dev/null 204 devlink region read $DL_HANDLE/dummy snapshot 25 addr $((1<<32)) len 128 >> /dev/null 2>&1 [all …]
|
| /linux/drivers/net/ethernet/qualcomm/rmnet/ |
| H A D | rmnet_vnd.c | 136 struct rmnet_vnd_stats snapshot; in rmnet_get_stats64() local 144 snapshot = pcpu_ptr->stats; /* struct assignment */ in rmnet_get_stats64() 147 total_stats.rx_pkts += snapshot.rx_pkts; in rmnet_get_stats64() 148 total_stats.rx_bytes += snapshot.rx_bytes; in rmnet_get_stats64() 149 total_stats.tx_pkts += snapshot.tx_pkts; in rmnet_get_stats64() 150 total_stats.tx_bytes += snapshot.tx_bytes; in rmnet_get_stats64() 151 total_stats.tx_drops += snapshot.tx_drops; in rmnet_get_stats64()
|
| /linux/arch/x86/events/intel/ |
| H A D | bts.c | 57 bool snapshot; member 111 bb->snapshot = overwrite; in bts_buffer_setup_aux() 155 if (!bb->snapshot) { in bts_config_buffer() 172 ds->bts_interrupt_threshold = !bb->snapshot in bts_config_buffer() 197 if (!bb->snapshot) { in bts_update() 239 if (!bb->snapshot) in __bts_event_start() 325 if (bb->snapshot) in bts_event_stop() 393 if (bb->snapshot) in bts_buffer_reset() 498 if (bb->snapshot) in intel_bts_interrupt()
|