Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/i915/gem/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  i915_gem_region.h   Sprache: C

 
/* SPDX-License-Identifier: MIT */
/*
 * Copyright © 2019 Intel Corporation
 */


#ifndef __I915_GEM_REGION_H__
#define __I915_GEM_REGION_H__

#include <linux/types.h>

struct intel_memory_region;
struct drm_i915_gem_object;
struct sg_table;

struct i915_gem_apply_to_region;

#define I915_BO_INVALID_OFFSET ((resource_size_t)-1)

/**
 * struct i915_gem_apply_to_region_ops - ops to use when iterating over all
 * region objects.
 */

struct i915_gem_apply_to_region_ops {
 /**
 * @process_obj: Process the current object
 *
 * Note that if this function is part of a ww transaction, and
 * if returns -EDEADLK for one of the objects, it may be
 * rerun for that same object in the same pass.
 */

 int (*process_obj)(struct i915_gem_apply_to_region *apply,
      struct drm_i915_gem_object *obj);
};

/**
 * struct i915_gem_apply_to_region - Argument to the struct
 * i915_gem_apply_to_region_ops functions.
 * @ops: The ops for the operation.
 * @ww: Locking context used for the transaction.
 * @interruptible: Whether to perform object locking interruptible.
 *
 * This structure is intended to be embedded in a private struct if needed
 */

struct i915_gem_apply_to_region {
 const struct i915_gem_apply_to_region_ops *ops;
 struct i915_gem_ww_ctx *ww;
 u32 interruptible:1;
};

void i915_gem_object_init_memory_region(struct drm_i915_gem_object *obj,
     struct intel_memory_region *mem);
void i915_gem_object_release_memory_region(struct drm_i915_gem_object *obj);

struct drm_i915_gem_object *
i915_gem_object_create_region(struct intel_memory_region *mem,
         resource_size_t size,
         resource_size_t page_size,
         unsigned int flags);
struct drm_i915_gem_object *
i915_gem_object_create_region_at(struct intel_memory_region *mem,
     resource_size_t offset,
     resource_size_t size,
     unsigned int flags);

int i915_gem_process_region(struct intel_memory_region *mr,
       struct i915_gem_apply_to_region *apply);
#endif

Messung V0.5
C=94 H=92 G=92

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.