Home
last modified time | relevance | path

Searched full:dcss (Results 1 – 25 of 29) sorted by relevance

12

/Linux-v5.10/drivers/gpu/drm/imx/dcss/
Ddcss-dev.c15 #include "dcss-dev.h"
16 #include "dcss-kms.h"
18 static void dcss_clocks_enable(struct dcss_dev *dcss) in dcss_clocks_enable() argument
20 clk_prepare_enable(dcss->axi_clk); in dcss_clocks_enable()
21 clk_prepare_enable(dcss->apb_clk); in dcss_clocks_enable()
22 clk_prepare_enable(dcss->rtrm_clk); in dcss_clocks_enable()
23 clk_prepare_enable(dcss->dtrc_clk); in dcss_clocks_enable()
24 clk_prepare_enable(dcss->pix_clk); in dcss_clocks_enable()
27 static void dcss_clocks_disable(struct dcss_dev *dcss) in dcss_clocks_disable() argument
29 clk_disable_unprepare(dcss->pix_clk); in dcss_clocks_disable()
[all …]
Ddcss-crtc.c11 #include "dcss-dev.h"
12 #include "dcss-kms.h"
18 struct dcss_dev *dcss = crtc->dev->dev_private; in dcss_enable_vblank() local
20 dcss_dtg_vblank_irq_enable(dcss->dtg, true); in dcss_enable_vblank()
22 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, true); in dcss_enable_vblank()
33 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_disable_vblank() local
37 dcss_dtg_vblank_irq_enable(dcss->dtg, false); in dcss_disable_vblank()
40 dcss_dtg_ctxld_kick_irq_enable(dcss->dtg, false); in dcss_disable_vblank()
65 struct dcss_dev *dcss = dcss_crtc->base.dev->dev_private; in dcss_crtc_atomic_flush() local
75 if (dcss_dtg_is_enabled(dcss->dtg)) in dcss_crtc_atomic_flush()
[all …]
DMakefile1 imx-dcss-objs := dcss-drv.o dcss-dev.o dcss-blkctl.o dcss-ctxld.o dcss-dtg.o \
2 dcss-ss.o dcss-dpr.o dcss-scaler.o dcss-kms.o dcss-crtc.o \
3 dcss-plane.o
5 obj-$(CONFIG_DRM_IMX_DCSS) += imx-dcss.o
Ddcss-drv.c11 #include "dcss-dev.h"
12 #include "dcss-kms.h"
15 struct dcss_dev *dcss; member
23 return mdrv ? mdrv->dcss : NULL; in dcss_drv_dev_to_dcss()
56 mdrv->dcss = dcss_dev_create(dev, hdmi_output); in dcss_drv_platform_probe()
57 if (IS_ERR(mdrv->dcss)) { in dcss_drv_platform_probe()
58 err = PTR_ERR(mdrv->dcss); in dcss_drv_platform_probe()
64 mdrv->kms = dcss_kms_attach(mdrv->dcss); in dcss_drv_platform_probe()
73 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_probe()
90 dcss_dev_destroy(mdrv->dcss); in dcss_drv_platform_remove()
[all …]
Ddcss-plane.c12 #include "dcss-dev.h"
13 #include "dcss-kms.h"
143 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_check() local
171 dcss_scaler_get_min_max_ratios(dcss->scaler, dcss_plane->ch_num, in dcss_plane_atomic_check()
214 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_set_base() local
240 dcss_dpr_addr_set(dcss->dpr, dcss_plane->ch_num, p1_ba, p2_ba, in dcss_plane_atomic_set_base()
268 struct dcss_dev *dcss = plane->dev->dev_private; in dcss_plane_atomic_update() local
305 dcss_dpr_format_set(dcss->dpr, dcss_plane->ch_num, state->fb->format, in dcss_plane_atomic_update()
308 dcss_dpr_set_res(dcss->dpr, dcss_plane->ch_num, src_w, src_h); in dcss_plane_atomic_update()
309 dcss_dpr_set_rotation(dcss->dpr, dcss_plane->ch_num, in dcss_plane_atomic_update()
[all …]
Ddcss-blkctl.c10 #include "dcss-dev.h"
25 struct dcss_dev *dcss; member
31 if (blkctl->dcss->hdmi_output) in dcss_blkctl_cfg()
41 int dcss_blkctl_init(struct dcss_dev *dcss, unsigned long blkctl_base) in dcss_blkctl_init() argument
51 dev_err(dcss->dev, "unable to remap BLK CTRL base\n"); in dcss_blkctl_init()
56 dcss->blkctl = blkctl; in dcss_blkctl_init()
57 blkctl->dcss = dcss; in dcss_blkctl_init()
Ddcss-ctxld.c12 #include "dcss-dev.h"
91 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(ctxld->dev); in dcss_ctxld_irq_handler() local
100 if (dcss && dcss->disable_callback) in dcss_ctxld_irq_handler()
101 dcss->disable_callback(dcss); in dcss_ctxld_irq_handler()
200 int dcss_ctxld_init(struct dcss_dev *dcss, unsigned long ctxld_base) in dcss_ctxld_init() argument
209 dcss->ctxld = ctxld; in dcss_ctxld_init()
210 ctxld->dev = dcss->dev; in dcss_ctxld_init()
216 dev_err(dcss->dev, "ctxld: cannot allocate context memory.\n"); in dcss_ctxld_init()
222 dev_err(dcss->dev, "ctxld: unable to remap ctxld base\n"); in dcss_ctxld_init()
227 ret = dcss_ctxld_irq_config(ctxld, to_platform_device(dcss->dev)); in dcss_ctxld_init()
[all …]
Ddcss-dev.h96 void dcss_dev_destroy(struct dcss_dev *dcss);
101 void dcss_enable_dtg_and_ss(struct dcss_dev *dcss);
102 void dcss_disable_dtg_and_ss(struct dcss_dev *dcss);
105 int dcss_blkctl_init(struct dcss_dev *dcss, unsigned long blkctl_base);
110 int dcss_ctxld_init(struct dcss_dev *dcss, unsigned long ctxld_base);
126 int dcss_dpr_init(struct dcss_dev *dcss, unsigned long dpr_base);
138 int dcss_dtg_init(struct dcss_dev *dcss, unsigned long dtg_base);
157 int dcss_ss_init(struct dcss_dev *dcss, unsigned long subsam_base);
166 int dcss_scaler_init(struct dcss_dev *dcss, unsigned long scaler_base);
Ddcss-dtg.c13 #include "dcss-dev.h"
150 int dcss_dtg_init(struct dcss_dev *dcss, unsigned long dtg_base) in dcss_dtg_init() argument
159 dcss->dtg = dtg; in dcss_dtg_init()
160 dtg->dev = dcss->dev; in dcss_dtg_init()
161 dtg->ctxld = dcss->ctxld; in dcss_dtg_init()
165 dev_err(dcss->dev, "dtg: unable to remap dtg base\n"); in dcss_dtg_init()
178 ret = dcss_dtg_irq_config(dtg, to_platform_device(dcss->dev)); in dcss_dtg_init()
205 struct dcss_dev *dcss = dcss_drv_dev_to_dcss(dtg->dev); in dcss_dtg_sync_set() local
223 clk_disable_unprepare(dcss->pix_clk); in dcss_dtg_sync_set()
224 clk_set_rate(dcss->pix_clk, vm->pixelclock); in dcss_dtg_sync_set()
[all …]
Ddcss-kms.c17 #include "dcss-dev.h"
18 #include "dcss-kms.h"
45 .name = "imx-dcss",
126 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss) in dcss_kms_attach() argument
133 kms = devm_drm_dev_alloc(dcss->dev, &dcss_kms_driver, in dcss_kms_attach()
141 drm->dev_private = dcss; in dcss_kms_attach()
Ddcss-ss.c9 #include "dcss-dev.h"
82 int dcss_ss_init(struct dcss_dev *dcss, unsigned long ss_base) in dcss_ss_init() argument
90 dcss->ss = ss; in dcss_ss_init()
91 ss->dev = dcss->dev; in dcss_ss_init()
92 ss->ctxld = dcss->ctxld; in dcss_ss_init()
96 dev_err(dcss->dev, "ss: unable to remap ss base\n"); in dcss_ss_init()
DKconfig2 tristate "i.MX8MQ DCSS"
9 Display Controller Subsystem. This option enables DCSS support.
Ddcss-dpr.c9 #include "dcss-dev.h"
154 int dcss_dpr_init(struct dcss_dev *dcss, unsigned long dpr_base) in dcss_dpr_init() argument
162 dcss->dpr = dpr; in dcss_dpr_init()
163 dpr->dev = dcss->dev; in dcss_dpr_init()
164 dpr->ctxld = dcss->ctxld; in dcss_dpr_init()
Ddcss-kms.h35 struct dcss_kms_dev *dcss_kms_attach(struct dcss_dev *dcss);
Ddcss-scaler.c11 #include "dcss-dev.h"
300 int dcss_scaler_init(struct dcss_dev *dcss, unsigned long scaler_base) in dcss_scaler_init() argument
308 dcss->scaler = scaler; in dcss_scaler_init()
309 scaler->dev = dcss->dev; in dcss_scaler_init()
310 scaler->ctxld = dcss->ctxld; in dcss_scaler_init()
/Linux-v5.10/Documentation/s390/
Dmonreader.rst23 IUCV `*MONITOR` statement in its user entry. If the monitor DCSS to be used is
24 restricted (likely), you also need the NAMESAVE <DCSS NAME> statement.
28 There are two options for being able to load the monitor DCSS (examples assume
29 that the monitor DCSS begins at 144 MB and ends at 152 MB). You can query the
30 location of the monitor DCSS with the Class E privileged CP command Q NSS MAP
40 guest virtual storage around the address range of the DCSS.
51 Your guest virtual storage has to end below the starting address of the DCSS
53 value greater than the ending address of the DCSS.
68 to specify the name of the monitor DCSS. If the module is compiled into the
69 kernel, the kernel parameter "monreader.mondcss=<DCSS NAME>" can be specified
[all …]
/Linux-v5.10/arch/s390/mm/
Dextmem.c130 * Perform a function on a dcss segment.
192 pr_warn("Querying a DCSS type failed with rc=%ld\n", vmrc); in query_segment_type()
327 strlcat(seg->res_name, " (DCSS)", sizeof(seg->res_name)); in __segment_load()
357 pr_warn("Loading DCSS %s failed with rc=%ld\n", name, end_addr); in __segment_load()
371 pr_info("DCSS %s of range %px to %px and type %s loaded as " in __segment_load()
375 pr_info("DCSS %s of range %px to %px and type %s loaded in " in __segment_load()
393 * this function loads a DCSS segment
394 * name : name of the DCSS
395 * do_nonshared : 0 indicates that the dcss should be shared with other linux images
396 * 1 indicates that the dcss should be exclusive for this linux image
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/display/imx/
Dnxp,imx8mq-dcss.yaml5 $id: "http://devicetree.org/schemas/display/imx/nxp,imx8mq-dcss.yaml#"
8 title: iMX8MQ Display Controller Subsystem (DCSS)
15 The DCSS (display controller sub system) is used to source up to three
17 2.2) or MIPI-DSI. The DCSS is intended to support up to 4kp60 displays. HDR10
23 const: nxp,imx8mq-dcss
27 - description: DCSS base address and size, up to IRQ steer start
28 - description: DCSS BLKCTL base address and size
86 dcss: display-controller@32e00000 {
87 compatible = "nxp,imx8mq-dcss";
/Linux-v5.10/drivers/s390/block/
Ddcssblk.c3 * dcssblk.c -- the S/390 block driver for dcss memory
296 pr_err("DCSS %s and DCSS %s have " in dcssblk_is_continuous()
395 pr_err("DCSS %s is of type SC and cannot be " in dcssblk_shared_store()
420 pr_err("DCSS device %s is removed after a failed access mode " in dcssblk_shared_store()
484 pr_warn("DCSS %s is of type SN or EN" in dcssblk_save_store()
858 pr_warn("DCSS %s is of type SN or EN and cannot" in dcssblk_release()
890 /* Request beyond end of DCSS segment. */ in dcssblk_submit_bio()
1024 pr_err("Suspending the system failed because DCSS device %s " in dcssblk_freeze()
1048 pr_err("The address range of DCSS %s changed " in dcssblk_restore()
1142 MODULE_PARM_DESC(segments, "Name of DCSS segment(s) to be loaded, "
DKconfig23 Support for dcss block device
/Linux-v5.10/drivers/interconnect/imx/
Dimx8mq.c48 /* DISPMIX (only for DCSS) */
57 /* PL301_DISPLAY (IPs other than DCSS, inside SUPERMIX) */
/Linux-v5.10/drivers/gpu/drm/imx/
DMakefile12 obj-$(CONFIG_DRM_IMX_DCSS) += dcss/
DKconfig43 source "drivers/gpu/drm/imx/dcss/Kconfig"
/Linux-v5.10/drivers/s390/char/
Dmonreader.c72 /* DCSS name in EBCDIC, 8 bytes padded with blanks */
88 * Create the 8 bytes EBCDIC DCSS segment name from
529 panic("fatal monreader resume error: no monitor dcss\n"); in monreader_restore()
596 pr_err("The specified *MONITOR DCSS %s does not have the " in mon_init()
646 MODULE_PARM_DESC(mondcss, "Name of DCSS segment to be used for *MONITOR "
/Linux-v5.10/Documentation/devicetree/bindings/display/bridge/
Dnwl-dsi.yaml111 description: sub-node describing the input from DCSS

12