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

Quelle  zynqmp_dpsub.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * ZynqMP DPSUB Subsystem Driver
 *
 * Copyright (C) 2017 - 2020 Xilinx, Inc.
 *
 * Authors:
 * - Hyun Woo Kwon <hyun.kwon@xilinx.com>
 * - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 */


#ifndef _ZYNQMP_DPSUB_H_
#define _ZYNQMP_DPSUB_H_

#include <linux/types.h>

struct clk;
struct device;
struct drm_bridge;
struct zynqmp_disp;
struct zynqmp_disp_layer;
struct zynqmp_dp;
struct zynqmp_dpsub_drm;

#define ZYNQMP_DPSUB_NUM_LAYERS    2

enum zynqmp_dpsub_port {
 ZYNQMP_DPSUB_PORT_LIVE_VIDEO,
 ZYNQMP_DPSUB_PORT_LIVE_GFX,
 ZYNQMP_DPSUB_PORT_LIVE_AUDIO,
 ZYNQMP_DPSUB_PORT_OUT_VIDEO,
 ZYNQMP_DPSUB_PORT_OUT_AUDIO,
 ZYNQMP_DPSUB_PORT_OUT_DP,
 ZYNQMP_DPSUB_NUM_PORTS,
};

enum zynqmp_dpsub_format {
 ZYNQMP_DPSUB_FORMAT_RGB,
 ZYNQMP_DPSUB_FORMAT_YCRCB444,
 ZYNQMP_DPSUB_FORMAT_YCRCB422,
 ZYNQMP_DPSUB_FORMAT_YONLY,
};

struct zynqmp_dpsub_audio;

/**
 * struct zynqmp_dpsub - ZynqMP DisplayPort Subsystem
 * @dev: The physical device
 * @apb_clk: The APB clock
 * @vid_clk: Video clock
 * @vid_clk_from_ps: True of the video clock comes from PS, false from PL
 * @aud_clk: Audio clock
 * @aud_clk_from_ps: True of the audio clock comes from PS, false from PL
 * @connected_ports: Bitmask of connected ports in the device tree
 * @dma_enabled: True if the DMA interface is enabled, false if the DPSUB is
 * driven by the live input
 * @drm: The DRM/KMS device data
 * @bridge: The DP encoder bridge
 * @disp: The display controller
 * @layers: Video and graphics layers
 * @dp: The DisplayPort controller
 * @dma_align: DMA alignment constraint (must be a power of 2)
 * @audio: DP audio data
 */

struct zynqmp_dpsub {
 struct device *dev;

 struct clk *apb_clk;
 struct clk *vid_clk;
 bool vid_clk_from_ps;
 struct clk *aud_clk;
 bool aud_clk_from_ps;

 unsigned int connected_ports;
 bool dma_enabled;

 struct zynqmp_dpsub_drm *drm;
 struct drm_bridge *bridge;

 struct zynqmp_disp *disp;
 struct zynqmp_disp_layer *layers[ZYNQMP_DPSUB_NUM_LAYERS];
 struct zynqmp_dp *dp;

 unsigned int dma_align;

 struct zynqmp_dpsub_audio *audio;
};

#ifdef CONFIG_DRM_ZYNQMP_DPSUB_AUDIO
int zynqmp_audio_init(struct zynqmp_dpsub *dpsub);
void zynqmp_audio_uninit(struct zynqmp_dpsub *dpsub);
#else
static inline int zynqmp_audio_init(struct zynqmp_dpsub *dpsub) { return 0; }
static inline void zynqmp_audio_uninit(struct zynqmp_dpsub *dpsub) { }
#endif

void zynqmp_dpsub_release(struct zynqmp_dpsub *dpsub);

#endif /* _ZYNQMP_DPSUB_H_ */

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

¤ Dauer der Verarbeitung: 0.3 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.