Sun Dec 19 10:46:03 2021 UTC ()
drm_writeback stubs


(riastradh)
diff -r0 -r1.1 src/sys/external/bsd/drm2/drm/drm_writeback.c
diff -r1.59 -r1.60 src/sys/external/bsd/drm2/drm/files.drmkms
diff -r1.5 -r1.6 src/sys/external/bsd/drm2/include/drm/drm_writeback.h

File Added: src/sys/external/bsd/drm2/drm/drm_writeback.c
/*	$NetBSD: drm_writeback.c,v 1.1 2021/12/19 10:46:02 riastradh Exp $	*/

/*-
 * Copyright (c) 2020 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: drm_writeback.c,v 1.1 2021/12/19 10:46:02 riastradh Exp $");

#include <drm/drm_writeback.h>

struct drm_writeback_connector *
drm_connector_to_writeback(struct drm_connector *connector)
{

	return container_of(connector, struct drm_writeback_connector, base);
}

struct dma_fence *
drm_writeback_get_out_fence(struct drm_writeback_connector *wbconn)
{
	panic("writeback connectors not implemented");
	return NULL;
}

int
drm_writeback_prepare_job(struct drm_writeback_job *wbj)
{
	panic("writeback connectors not implemented");
	return -ENXIO;
}

void
drm_writeback_cleanup_job(struct drm_writeback_job *job)
{
	panic("writeback connectors not implemented");
}

int
drm_writeback_set_fb(struct drm_connector_state *state,
    struct drm_framebuffer *fb)
{
	panic("writeback connectors not implemented");
	return -ENXIO;
}

cvs diff -r1.59 -r1.60 src/sys/external/bsd/drm2/drm/files.drmkms (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/drm/files.drmkms 2021/12/19 10:45:33 1.59
+++ src/sys/external/bsd/drm2/drm/files.drmkms 2021/12/19 10:46:02 1.60
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: files.drmkms,v 1.59 2021/12/19 10:45:33 riastradh Exp $ 1# $NetBSD: files.drmkms,v 1.60 2021/12/19 10:46:02 riastradh Exp $
2 2
3version 20180827 3version 20180827
4 4
5include "external/bsd/drm2/linux/files.drmkms_linux" 5include "external/bsd/drm2/linux/files.drmkms_linux"
6 6
7# i2c code is not separated out, but it is marked so that it could be 7# i2c code is not separated out, but it is marked so that it could be
8# if we wanted. Not clear that this provides as much advantage as 8# if we wanted. Not clear that this provides as much advantage as
9# separating out PCI code, which will be necessary for, e.g., PCIless 9# separating out PCI code, which will be necessary for, e.g., PCIless
10# ARM SoC graphics drivers. 10# ARM SoC graphics drivers.
11define drmkms_i2c: drmkms_linux 11define drmkms_i2c: drmkms_linux
12 12
13define drmkms: drmkms_linux, drmkms_i2c, linux 13define drmkms: drmkms_linux, drmkms_i2c, linux
14 14
@@ -144,14 +144,14 @@ file external/bsd/drm2/dist/drm/drm_prim @@ -144,14 +144,14 @@ file external/bsd/drm2/dist/drm/drm_prim
144file external/bsd/drm2/dist/drm/drm_print.c drmkms 144file external/bsd/drm2/dist/drm/drm_print.c drmkms
145file external/bsd/drm2/dist/drm/drm_probe_helper.c drmkms 145file external/bsd/drm2/dist/drm/drm_probe_helper.c drmkms
146file external/bsd/drm2/dist/drm/drm_property.c drmkms 146file external/bsd/drm2/dist/drm/drm_property.c drmkms
147file external/bsd/drm2/dist/drm/drm_rect.c drmkms 147file external/bsd/drm2/dist/drm/drm_rect.c drmkms
148file external/bsd/drm2/dist/drm/drm_scdc_helper.c drmkms 148file external/bsd/drm2/dist/drm/drm_scdc_helper.c drmkms
149file external/bsd/drm2/dist/drm/drm_self_refresh_helper.c drmkms 149file external/bsd/drm2/dist/drm/drm_self_refresh_helper.c drmkms
150#file external/bsd/drm2/dist/drm/drm_simple_kms_helper.c drmkms 150#file external/bsd/drm2/dist/drm/drm_simple_kms_helper.c drmkms
151file external/bsd/drm2/dist/drm/drm_syncobj.c drmkms 151file external/bsd/drm2/dist/drm/drm_syncobj.c drmkms
152file external/bsd/drm2/drm/drm_sysfs.c drmkms 152file external/bsd/drm2/drm/drm_sysfs.c drmkms
153file external/bsd/drm2/dist/drm/drm_trace_points.c drmkms 153file external/bsd/drm2/dist/drm/drm_trace_points.c drmkms
154file external/bsd/drm2/dist/drm/drm_vblank.c drmkms 154file external/bsd/drm2/dist/drm/drm_vblank.c drmkms
155file external/bsd/drm2/drm/drm_vm.c drmkms 155file external/bsd/drm2/drm/drm_vm.c drmkms
156file external/bsd/drm2/drm/drm_vma_manager.c drmkms 156file external/bsd/drm2/drm/drm_vma_manager.c drmkms
157#file external/bsd/drm2/dist/drm/drm_writeback.c drmkms 157file external/bsd/drm2/drm/drm_writeback.c drmkms

cvs diff -r1.5 -r1.6 src/sys/external/bsd/drm2/include/drm/drm_writeback.h (expand / switch to unified diff)

--- src/sys/external/bsd/drm2/include/drm/drm_writeback.h 2021/12/19 01:58:47 1.5
+++ src/sys/external/bsd/drm2/include/drm/drm_writeback.h 2021/12/19 10:46:03 1.6
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: drm_writeback.h,v 1.5 2021/12/19 01:58:47 riastradh Exp $ */ 1/* $NetBSD: drm_writeback.h,v 1.6 2021/12/19 10:46:03 riastradh Exp $ */
2 2
3/*- 3/*-
4 * Copyright (c) 2018 The NetBSD Foundation, Inc. 4 * Copyright (c) 2018 The NetBSD Foundation, Inc.
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to The NetBSD Foundation 7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Taylor R. Campbell. 8 * by Taylor R. Campbell.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -22,53 +22,40 @@ @@ -22,53 +22,40 @@
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE. 29 * POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31 31
32#ifndef _DRM_DRM_WRITEBACK_H_ 32#ifndef _DRM_DRM_WRITEBACK_H_
33#define _DRM_DRM_WRITEBACK_H_ 33#define _DRM_DRM_WRITEBACK_H_
34 34
 35#include <drm/drm_connector.h>
 36
35struct dma_fence; 37struct dma_fence;
36struct drm_connector; 38struct drm_connector;
 39struct drm_connector_state;
37struct drm_framebuffer; 40struct drm_framebuffer;
38struct drm_writeback_connector; 41struct drm_writeback_connector;
39 42
 43struct drm_writeback_connector {
 44 struct drm_connector base;
 45};
 46
40struct drm_writeback_job { 47struct drm_writeback_job {
41 struct drm_framebuffer *fb; 48 struct drm_framebuffer *fb;
42 struct dma_fence *out_fence; 49 struct dma_fence *out_fence;
43}; 50};
44 51
45struct drm_writeback_connector * 52struct drm_writeback_connector *
46 drm_connector_to_writeback(struct drm_connector *); 53 drm_connector_to_writeback(struct drm_connector *);
47struct dma_fence * 54struct dma_fence *
48 drm_writeback_get_out_fence(struct drm_writeback_connector *); 55 drm_writeback_get_out_fence(struct drm_writeback_connector *);
49 56int drm_writeback_prepare_job(struct drm_writeback_job *);
50static inline void 57void drm_writeback_cleanup_job(struct drm_writeback_job *);
51drm_writeback_cleanup_job(struct drm_writeback_job *job) 58int drm_writeback_set_fb(struct drm_connector_state *,
52{ 59 struct drm_framebuffer *);
53 
54 panic("TODO"); 
55} 
56 
57static inline int 
58drm_writeback_prepare_job(struct drm_writeback_job *job) 
59{ 
60 
61 panic("TODO"); 
62 return 0; 
63} 
64 
65static inline int 
66drm_writeback_set_fb(struct drm_connector_state *conn_state, 
67 struct drm_framebuffer *fb) 
68{ 
69 
70 panic("TODO"); 
71 return 0; 
72} 
73 60
74#endif /* _DRM_DRM_WRITEBACK_H_ */ 61#endif /* _DRM_DRM_WRITEBACK_H_ */