* [PATCH 14/19] video/vga: Add VGA_IS0_R
[not found] <20251208182637.334-1-ville.syrjala@linux.intel.com>
@ 2025-12-08 18:26 ` Ville Syrjala
2025-12-08 21:07 ` kernel test robot
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Ville Syrjala @ 2025-12-08 18:26 UTC (permalink / raw)
To: intel-gfx; +Cc: intel-xe, Helge Deller, linux-fbdev, dri-devel
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a proper name for the "Input status register 0" IO address.
Currently we have some code that does read addressed using the
aliasing VGA_MSR_W define, making it unclear what register we're
actually reading.
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
include/video/vga.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/video/vga.h b/include/video/vga.h
index 468764d6727a..d83c5f153253 100644
--- a/include/video/vga.h
+++ b/include/video/vga.h
@@ -46,6 +46,7 @@
#define VGA_MIS_R 0x3CC /* Misc Output Read Register */
#define VGA_MIS_W 0x3C2 /* Misc Output Write Register */
#define VGA_FTC_R 0x3CA /* Feature Control Read Register */
+#define VGA_IS0_R 0x3C2 /* Input Status Register 0 */
#define VGA_IS1_RC 0x3DA /* Input Status Register 1 - color emulation */
#define VGA_IS1_RM 0x3BA /* Input Status Register 1 - mono emulation */
#define VGA_PEL_D 0x3C9 /* PEL Data Register */
@@ -485,3 +486,4 @@ static inline void vga_mm_wattr (void __iomem *regbase, unsigned char reg, unsig
}
#endif /* __linux_video_vga_h__ */
+?
--
2.51.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
@ 2025-12-08 21:07 ` kernel test robot
2025-12-08 21:18 ` kernel test robot
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-08 21:07 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: oe-kbuild-all, intel-xe, Helge Deller, linux-fbdev, dri-devel
Hi Ville,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-i915/for-linux-next drm-i915/for-linux-next-fixes linus/master v6.18 next-20251208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-vga-Register-vgaarb-client-later/20251209-030730
base: https://gitlab.freedesktop.org/drm/tip.git drm-tip
patch link: https://lore.kernel.org/r/20251208182637.334-15-ville.syrjala%40linux.intel.com
patch subject: [PATCH 14/19] video/vga: Add VGA_IS0_R
config: microblaze-randconfig-r072-20251209 (https://download.01.org/0day-ci/archive/20251209/202512090434.DRy1Kvan-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251209/202512090434.DRy1Kvan-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512090434.DRy1Kvan-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from include/linux/vgaarb.h:15,
from drivers/video/aperture.c:12:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from drivers/video/aperture.c:14:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
drivers/video/aperture.c: In function 'devm_aperture_acquire_release':
>> drivers/video/aperture.c:153:21: error: dereferencing pointer to incomplete type 'struct aperture_range'
bool detached = !ap->dev;
^~
In file included from include/linux/bits.h:30,
from include/linux/ratelimit_types.h:5,
from include/linux/ratelimit.h:5,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/video/aperture.c:4:
drivers/video/aperture.c: In function 'devm_aperture_acquire':
>> include/linux/container_of.h:21:47: error: dereferencing pointer to incomplete type 'struct aperture_range'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
include/linux/container_of.h:21:2: note: in expansion of macro 'static_assert'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~~~
include/linux/container_of.h:21:16: note: in expansion of macro '__same_type'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~
drivers/video/aperture.c:174:8: note: in expansion of macro 'container_of'
ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
include/linux/compiler_types.h:537:27: error: expression in static assertion is not an integer
#define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
include/linux/container_of.h:21:2: note: in expansion of macro 'static_assert'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~~~
include/linux/container_of.h:21:16: note: in expansion of macro '__same_type'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~
drivers/video/aperture.c:174:8: note: in expansion of macro 'container_of'
ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/aperture.h:6,
from drivers/video/aperture.c:3:
>> include/linux/stddef.h:16:32: error: invalid use of undefined type 'struct aperture_range'
#define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
^~~~~~~~~~~~~~~~~~
include/linux/container_of.h:24:21: note: in expansion of macro 'offsetof'
((type *)(__mptr - offsetof(type, member))); })
^~~~~~~~
drivers/video/aperture.c:174:8: note: in expansion of macro 'container_of'
ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
In file included from include/linux/bits.h:30,
from include/linux/ratelimit_types.h:5,
from include/linux/ratelimit.h:5,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/video/aperture.c:4:
drivers/video/aperture.c: In function 'aperture_detach_devices':
>> include/linux/container_of.h:21:47: error: dereferencing pointer to incomplete type 'struct aperture_range'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
include/linux/container_of.h:21:2: note: in expansion of macro 'static_assert'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~~~
include/linux/container_of.h:21:16: note: in expansion of macro '__same_type'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~
drivers/video/aperture.c:255:31: note: in expansion of macro 'container_of'
struct aperture_range *ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
include/linux/compiler_types.h:537:27: error: expression in static assertion is not an integer
#define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~
include/linux/container_of.h:21:2: note: in expansion of macro 'static_assert'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~~~
include/linux/container_of.h:21:16: note: in expansion of macro '__same_type'
static_assert(__same_type(*(ptr), ((type *)0)->member) || \
^~~~~~~~~~~
drivers/video/aperture.c:255:31: note: in expansion of macro 'container_of'
struct aperture_range *ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/aperture.h:6,
from drivers/video/aperture.c:3:
>> include/linux/stddef.h:16:32: error: invalid use of undefined type 'struct aperture_range'
#define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
^~~~~~~~~~~~~~~~~~
include/linux/container_of.h:24:21: note: in expansion of macro 'offsetof'
((type *)(__mptr - offsetof(type, member))); })
^~~~~~~~
drivers/video/aperture.c:255:31: note: in expansion of macro 'container_of'
struct aperture_range *ap = container_of(pos, struct aperture_range, lh);
^~~~~~~~~~~~
--
In file included from drivers/gpu/drm/mgag200/mgag200_drv.h:13,
from drivers/gpu/drm/mgag200/mgag200_bmc.c:10:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from include/linux/dma-buf.h:16,
from include/drm/drm_gem.h:38,
from drivers/gpu/drm/mgag200/mgag200_drv.h:18,
from drivers/gpu/drm/mgag200/mgag200_bmc.c:10:
>> include/linux/iosys-map.h:183:47: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_set_vaddr(struct iosys_map *map, void *vaddr)
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_set_vaddr':
>> include/linux/iosys-map.h:185:5: error: dereferencing pointer to incomplete type 'struct iosys_map'
map->vaddr = vaddr;
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:196:53: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_set_vaddr_iomem(struct iosys_map *map,
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_set_vaddr_iomem':
include/linux/iosys-map.h:199:5: error: dereferencing pointer to incomplete type 'struct iosys_map'
map->vaddr_iomem = vaddr_iomem;
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:214:52: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline bool iosys_map_is_equal(const struct iosys_map *lhs,
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_is_equal':
>> include/linux/iosys-map.h:217:9: error: dereferencing pointer to incomplete type 'const struct iosys_map'
if (lhs->is_iomem != rhs->is_iomem)
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:235:51: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline bool iosys_map_is_null(const struct iosys_map *map)
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_is_null':
include/linux/iosys-map.h:237:9: error: dereferencing pointer to incomplete type 'const struct iosys_map'
if (map->is_iomem)
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:252:50: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline bool iosys_map_is_set(const struct iosys_map *map)
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_is_set':
>> include/linux/iosys-map.h:254:28: error: passing argument 1 of 'iosys_map_is_null' from incompatible pointer type [-Werror=incompatible-pointer-types]
return !iosys_map_is_null(map);
^~~
include/linux/iosys-map.h:235:62: note: expected 'const struct iosys_map *' but argument is of type 'const struct iosys_map *'
static inline bool iosys_map_is_null(const struct iosys_map *map)
~~~~~~~~~~~~~~~~~~~~~~~~^~~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:265:43: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_clear(struct iosys_map *map)
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_clear':
include/linux/iosys-map.h:267:24: error: dereferencing pointer to incomplete type 'struct iosys_map'
memset(map, 0, sizeof(*map));
^~~~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:281:47: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_memcpy_to(struct iosys_map *dst, size_t dst_offset,
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_memcpy_to':
include/linux/iosys-map.h:284:9: error: dereferencing pointer to incomplete type 'struct iosys_map'
if (dst->is_iomem)
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:301:66: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_memcpy_from(void *dst, const struct iosys_map *src,
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_memcpy_from':
include/linux/iosys-map.h:304:9: error: dereferencing pointer to incomplete type 'const struct iosys_map'
if (src->is_iomem)
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:318:42: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_incr(struct iosys_map *map, size_t incr)
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_incr':
include/linux/iosys-map.h:320:9: error: dereferencing pointer to incomplete type 'struct iosys_map'
if (map->is_iomem)
^~
include/linux/iosys-map.h: At top level:
include/linux/iosys-map.h:336:44: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
static inline void iosys_map_memset(struct iosys_map *dst, size_t offset,
^~~~~~~~~
include/linux/iosys-map.h: In function 'iosys_map_memset':
include/linux/iosys-map.h:339:9: error: dereferencing pointer to incomplete type 'struct iosys_map'
if (dst->is_iomem)
^~
In file included from include/drm/drm_gem.h:38,
from drivers/gpu/drm/mgag200/mgag200_drv.h:18,
from drivers/gpu/drm/mgag200/mgag200_bmc.c:10:
include/linux/dma-buf.h: At top level:
>> include/linux/dma-buf.h:277:45: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
int (*vmap)(struct dma_buf *dmabuf, struct iosys_map *map);
^~~~~~~~~
include/linux/dma-buf.h:278:48: warning: 'struct iosys_map' declared inside parameter list will not be visible outside of this definition or declaration
void (*vunmap)(struct dma_buf *dmabuf, struct iosys_map *map);
^~~~~~~~~
>> include/linux/dma-buf.h:332:19: error: field 'vmap_ptr' has incomplete type
struct iosys_map vmap_ptr;
^~~~~~~~
cc1: some warnings being treated as errors
--
In file included from drivers/gpu/drm/mgag200/mgag200_drv.h:13,
from drivers/gpu/drm/mgag200/mgag200_ddc.c:36:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
--
In file included from drivers/gpu/drm/mgag200/mgag200_drv.h:13,
from drivers/gpu/drm/mgag200/mgag200_drv.c:25:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from include/linux/dma-buf.h:16,
from include/drm/drm_gem.h:38,
from drivers/gpu/drm/mgag200/mgag200_drv.h:18,
from drivers/gpu/drm/mgag200/mgag200_drv.c:25:
include/linux/iosys-map.h: In function 'iosys_map_set_vaddr':
>> include/linux/iosys-map.h:185:5: error: dereferencing pointer to incomplete type 'struct iosys_map'
map->vaddr = vaddr;
^~
include/linux/iosys-map.h: In function 'iosys_map_is_equal':
>> include/linux/iosys-map.h:217:9: error: dereferencing pointer to incomplete type 'const struct iosys_map'
if (lhs->is_iomem != rhs->is_iomem)
^~
In file included from include/drm/drm_gem.h:38,
from drivers/gpu/drm/mgag200/mgag200_drv.h:18,
from drivers/gpu/drm/mgag200/mgag200_drv.c:25:
include/linux/dma-buf.h: At top level:
>> include/linux/dma-buf.h:332:19: error: field 'vmap_ptr' has incomplete type
struct iosys_map vmap_ptr;
^~~~~~~~
--
In file included from drivers/gpu/drm/tiny/bochs.c:29:
>> include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from include/linux/module.h:23,
from drivers/gpu/drm/tiny/bochs.c:5:
drivers/gpu/drm/tiny/bochs.c: In function '__check_modeset':
>> drivers/gpu/drm/tiny/bochs.c:66:29: error: 'bochs_modeset' undeclared (first use in this function); did you mean 'drm_mode_set'?
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~
include/linux/moduleparam.h:430:68: note: in definition of macro '__param_check'
static inline type __always_unused *__check_##name(void) { return(p); }
^
include/linux/moduleparam.h:155:2: note: in expansion of macro 'param_check_int'
param_check_##type(name, &(value)); \
^~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:29: note: each undeclared identifier is reported only once for each function it appears in
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~
include/linux/moduleparam.h:430:68: note: in definition of macro '__param_check'
static inline type __always_unused *__check_##name(void) { return(p); }
^
include/linux/moduleparam.h:155:2: note: in expansion of macro 'param_check_int'
param_check_##type(name, &(value)); \
^~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c: At top level:
>> drivers/gpu/drm/tiny/bochs.c:66:29: error: 'bochs_modeset' undeclared here (not in a function); did you mean 'drm_mode_set'?
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~
include/linux/moduleparam.h:298:54: note: in definition of macro '__module_param_call'
VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
^~~
include/linux/moduleparam.h:156:2: note: in expansion of macro 'module_param_cb'
module_param_cb(name, ¶m_ops_##type, &value, perm); \
^~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
module_param_named(modeset, bochs_modeset, int, 0444);
^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c: In function 'bochs_pci_driver_init':
drivers/gpu/drm/tiny/bochs.c:835:1: warning: control reaches end of non-void function [-Wreturn-type]
drm_module_pci_driver_if_modeset(bochs_pci_driver, bochs_modeset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..
vim +489 include/video/vga.h
487
488 #endif /* __linux_video_vga_h__ */
> 489 ?
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
2025-12-08 21:07 ` kernel test robot
@ 2025-12-08 21:18 ` kernel test robot
2025-12-08 22:22 ` kernel test robot
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-08 21:18 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: llvm, oe-kbuild-all, intel-xe, Helge Deller, linux-fbdev,
dri-devel
Hi Ville,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-i915/for-linux-next drm-i915/for-linux-next-fixes linus/master v6.18 next-20251208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-vga-Register-vgaarb-client-later/20251209-030730
base: https://gitlab.freedesktop.org/drm/tip.git drm-tip
patch link: https://lore.kernel.org/r/20251208182637.334-15-ville.syrjala%40linux.intel.com
patch subject: [PATCH 14/19] video/vga: Add VGA_IS0_R
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20251209/202512090554.7pZ9xOQ5-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251209/202512090554.7pZ9xOQ5-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512090554.7pZ9xOQ5-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/video/console/vgacon.c:51:
>> include/video/vga.h:489:1: error: expected identifier or '('
489 | ?
| ^
>> drivers/video/console/vgacon.c:126:25: error: use of undeclared identifier 'vga_lock'; did you mean 'pgd_lock'?
126 | raw_spin_lock_irqsave(&vga_lock, flags);
| ^~~~~~~~
| pgd_lock
include/linux/spinlock.h:266:26: note: expanded from macro 'raw_spin_lock_irqsave'
266 | _raw_spin_lock_irqsave(lock, flags); \
| ^
include/linux/spinlock_api_up.h:69:60: note: expanded from macro '_raw_spin_lock_irqsave'
69 | #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
| ^
include/linux/spinlock_api_up.h:40:38: note: expanded from macro '__LOCK_IRQSAVE'
40 | do { local_irq_save(flags); __LOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:31:35: note: expanded from macro '__LOCK'
31 | do { preempt_disable(); ___LOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:28:32: note: expanded from macro '___LOCK'
28 | do { __acquire(lock); (void)(lock); } while (0)
| ^
arch/x86/include/asm/pgtable.h:58:19: note: 'pgd_lock' declared here
58 | extern spinlock_t pgd_lock;
| ^
drivers/video/console/vgacon.c:131:30: error: use of undeclared identifier 'vga_lock'; did you mean 'pgd_lock'?
131 | raw_spin_unlock_irqrestore(&vga_lock, flags);
| ^~~~~~~~
| pgd_lock
include/linux/spinlock.h:282:31: note: expanded from macro 'raw_spin_unlock_irqrestore'
282 | _raw_spin_unlock_irqrestore(lock, flags); \
| ^
include/linux/spinlock_api_up.h:86:26: note: expanded from macro '_raw_spin_unlock_irqrestore'
86 | __UNLOCK_IRQRESTORE(lock, flags)
| ^
include/linux/spinlock_api_up.h:56:43: note: expanded from macro '__UNLOCK_IRQRESTORE'
56 | do { local_irq_restore(flags); __UNLOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:46:36: note: expanded from macro '__UNLOCK'
46 | do { preempt_enable(); ___UNLOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:43:32: note: expanded from macro '___UNLOCK'
43 | do { __release(lock); (void)(lock); } while (0)
| ^
arch/x86/include/asm/pgtable.h:58:19: note: 'pgd_lock' declared here
58 | extern spinlock_t pgd_lock;
| ^
drivers/video/console/vgacon.c:485:25: error: use of undeclared identifier 'vga_lock'; did you mean 'pgd_lock'?
485 | raw_spin_lock_irqsave(&vga_lock, flags);
| ^~~~~~~~
| pgd_lock
include/linux/spinlock.h:266:26: note: expanded from macro 'raw_spin_lock_irqsave'
266 | _raw_spin_lock_irqsave(lock, flags); \
| ^
include/linux/spinlock_api_up.h:69:60: note: expanded from macro '_raw_spin_lock_irqsave'
69 | #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
| ^
include/linux/spinlock_api_up.h:40:38: note: expanded from macro '__LOCK_IRQSAVE'
40 | do { local_irq_save(flags); __LOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:31:35: note: expanded from macro '__LOCK'
31 | do { preempt_disable(); ___LOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:28:32: note: expanded from macro '___LOCK'
28 | do { __acquire(lock); (void)(lock); } while (0)
| ^
arch/x86/include/asm/pgtable.h:58:19: note: 'pgd_lock' declared here
58 | extern spinlock_t pgd_lock;
| ^
drivers/video/console/vgacon.c:503:30: error: use of undeclared identifier 'vga_lock'; did you mean 'pgd_lock'?
503 | raw_spin_unlock_irqrestore(&vga_lock, flags);
| ^~~~~~~~
| pgd_lock
include/linux/spinlock.h:282:31: note: expanded from macro 'raw_spin_unlock_irqrestore'
282 | _raw_spin_unlock_irqrestore(lock, flags); \
| ^
include/linux/spinlock_api_up.h:86:26: note: expanded from macro '_raw_spin_unlock_irqrestore'
86 | __UNLOCK_IRQRESTORE(lock, flags)
| ^
include/linux/spinlock_api_up.h:56:43: note: expanded from macro '__UNLOCK_IRQRESTORE'
56 | do { local_irq_restore(flags); __UNLOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:46:36: note: expanded from macro '__UNLOCK'
46 | do { preempt_enable(); ___UNLOCK(lock); } while (0)
| ^
include/linux/spinlock_api_up.h:43:32: note: expanded from macro '___UNLOCK'
43 | do { __release(lock); (void)(lock); } while (0)
| ^
arch/x86/include/asm/pgtable.h:58:19: note: 'pgd_lock' declared here
58 | extern spinlock_t pgd_lock;
| ^
drivers/video/console/vgacon.c:563:25: error: use of undeclared identifier 'vga_lock'; did you mean 'pgd_lock'?
563 | raw_spin_lock_irqsave(&vga_lock, flags);
| ^~~~~~~~
| pgd_lock
include/linux/spinlock.h:266:26: note: expanded from macro 'raw_spin_lock_irqsave'
266 | _raw_spin_lock_irqsave(lock, flags); \
| ^
include/linux/spinlock_api_up.h:69:60: note: expanded from macro '_raw_spin_lock_irqsave'
69 | #define _raw_spin_lock_irqsave(lock, flags) __LOCK_IRQSAVE(lock, flags)
| ^
include/linux/spinlock_api_up.h:40:38: note: expanded from macro '__LOCK_IRQSAVE'
40 | do { local_irq_save(flags); __LOCK(lock); } while (0)
| ^
vim +489 include/video/vga.h
487
488 #endif /* __linux_video_vga_h__ */
> 489 ?
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
2025-12-08 21:07 ` kernel test robot
2025-12-08 21:18 ` kernel test robot
@ 2025-12-08 22:22 ` kernel test robot
2025-12-09 7:55 ` [PATCH v2 " Ville Syrjala
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-08 22:22 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: oe-kbuild-all, intel-xe, Helge Deller, linux-fbdev, dri-devel
Hi Ville,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-tip/drm-tip]
[cannot apply to drm-i915/for-linux-next drm-i915/for-linux-next-fixes linus/master v6.18 next-20251208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-vga-Register-vgaarb-client-later/20251209-030730
base: https://gitlab.freedesktop.org/drm/tip.git drm-tip
patch link: https://lore.kernel.org/r/20251208182637.334-15-ville.syrjala%40linux.intel.com
patch subject: [PATCH 14/19] video/vga: Add VGA_IS0_R
config: i386-randconfig-141-20251209 (https://download.01.org/0day-ci/archive/20251209/202512090603.ycfxEuHJ-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251209/202512090603.ycfxEuHJ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512090603.ycfxEuHJ-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/gpu/drm/tiny/bochs.c:29:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
489 | ?
| ^
In file included from include/linux/module.h:23,
from drivers/gpu/drm/tiny/bochs.c:5:
drivers/gpu/drm/tiny/bochs.c: In function '__check_modeset':
drivers/gpu/drm/tiny/bochs.c:66:29: error: 'bochs_modeset' undeclared (first use in this function)
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~
include/linux/moduleparam.h:430:75: note: in definition of macro '__param_check'
430 | static inline type __always_unused *__check_##name(void) { return(p); }
| ^
include/linux/moduleparam.h:155:9: note: in expansion of macro 'param_check_int'
155 | param_check_##type(name, &(value)); \
| ^~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:29: note: each undeclared identifier is reported only once for each function it appears in
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~
include/linux/moduleparam.h:430:75: note: in definition of macro '__param_check'
430 | static inline type __always_unused *__check_##name(void) { return(p); }
| ^
include/linux/moduleparam.h:155:9: note: in expansion of macro 'param_check_int'
155 | param_check_##type(name, &(value)); \
| ^~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c: At top level:
drivers/gpu/drm/tiny/bochs.c:66:29: error: 'bochs_modeset' undeclared here (not in a function)
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~
include/linux/moduleparam.h:298:61: note: in definition of macro '__module_param_call'
298 | VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
| ^~~
include/linux/moduleparam.h:156:9: note: in expansion of macro 'module_param_cb'
156 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:66:1: note: in expansion of macro 'module_param_named'
66 | module_param_named(modeset, bochs_modeset, int, 0444);
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/device.h:32,
from include/linux/pci.h:37,
from drivers/gpu/drm/tiny/bochs.c:6:
drivers/gpu/drm/tiny/bochs.c: In function 'bochs_pci_driver_init':
>> include/linux/device/driver.h:261:1: warning: control reaches end of non-void function [-Wreturn-type]
261 | } \
| ^
include/drm/drm_module.h:93:9: note: in expansion of macro 'module_driver'
93 | module_driver(__pci_drv, drm_pci_register_driver_if_modeset, \
| ^~~~~~~~~~~~~
drivers/gpu/drm/tiny/bochs.c:835:1: note: in expansion of macro 'drm_module_pci_driver_if_modeset'
835 | drm_module_pci_driver_if_modeset(bochs_pci_driver, bochs_modeset);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +261 include/linux/device/driver.h
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 242
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 243 /**
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 244 * module_driver() - Helper macro for drivers that don't do anything
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 245 * special in module init/exit. This eliminates a lot of boilerplate.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 246 * Each module may only use this macro once, and calling it replaces
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 247 * module_init() and module_exit().
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 248 *
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 249 * @__driver: driver name
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 250 * @__register: register function for this driver type
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 251 * @__unregister: unregister function for this driver type
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 252 * @...: Additional arguments to be passed to __register and __unregister.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 253 *
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 254 * Use this macro to construct bus specific macros for registering
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 255 * drivers, and do not use it on its own.
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 256 */
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 257 #define module_driver(__driver, __register, __unregister, ...) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 258 static int __init __driver##_init(void) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 259 { \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 260 return __register(&(__driver) , ##__VA_ARGS__); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 @261 } \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 262 module_init(__driver##_init); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 263 static void __exit __driver##_exit(void) \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 264 { \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 265 __unregister(&(__driver) , ##__VA_ARGS__); \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 266 } \
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 267 module_exit(__driver##_exit);
4c002c978b7f2f Greg Kroah-Hartman 2019-12-09 268
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
` (2 preceding siblings ...)
2025-12-08 22:22 ` kernel test robot
@ 2025-12-09 7:55 ` Ville Syrjala
2025-12-09 10:55 ` Jani Nikula
2025-12-10 14:13 ` [PATCH " kernel test robot
2025-12-10 14:24 ` kernel test robot
5 siblings, 1 reply; 10+ messages in thread
From: Ville Syrjala @ 2025-12-09 7:55 UTC (permalink / raw)
To: intel-gfx; +Cc: intel-xe, Helge Deller, linux-fbdev, dri-devel
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Add a proper name for the "Input status register 0" IO address.
Currently we have some code that does read addressed using the
aliasing VGA_MSR_W define, making it unclear what register we're
actually reading.
v2: Remove stray '?'
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
include/video/vga.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/video/vga.h b/include/video/vga.h
index 468764d6727a..2f13c371800b 100644
--- a/include/video/vga.h
+++ b/include/video/vga.h
@@ -46,6 +46,7 @@
#define VGA_MIS_R 0x3CC /* Misc Output Read Register */
#define VGA_MIS_W 0x3C2 /* Misc Output Write Register */
#define VGA_FTC_R 0x3CA /* Feature Control Read Register */
+#define VGA_IS0_R 0x3C2 /* Input Status Register 0 */
#define VGA_IS1_RC 0x3DA /* Input Status Register 1 - color emulation */
#define VGA_IS1_RM 0x3BA /* Input Status Register 1 - mono emulation */
#define VGA_PEL_D 0x3C9 /* PEL Data Register */
--
2.51.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 14/19] video/vga: Add VGA_IS0_R
2025-12-09 7:55 ` [PATCH v2 " Ville Syrjala
@ 2025-12-09 10:55 ` Jani Nikula
2025-12-18 16:56 ` Ville Syrjälä
0 siblings, 1 reply; 10+ messages in thread
From: Jani Nikula @ 2025-12-09 10:55 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx; +Cc: intel-xe, Helge Deller, linux-fbdev, dri-devel
On Tue, 09 Dec 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add a proper name for the "Input status register 0" IO address.
> Currently we have some code that does read addressed using the
> aliasing VGA_MSR_W define, making it unclear what register we're
> actually reading.
>
> v2: Remove stray '?'
>
> Cc: Helge Deller <deller@gmx.de>
> Cc: linux-fbdev@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> include/video/vga.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/video/vga.h b/include/video/vga.h
> index 468764d6727a..2f13c371800b 100644
> --- a/include/video/vga.h
> +++ b/include/video/vga.h
> @@ -46,6 +46,7 @@
> #define VGA_MIS_R 0x3CC /* Misc Output Read Register */
> #define VGA_MIS_W 0x3C2 /* Misc Output Write Register */
> #define VGA_FTC_R 0x3CA /* Feature Control Read Register */
> +#define VGA_IS0_R 0x3C2 /* Input Status Register 0 */
> #define VGA_IS1_RC 0x3DA /* Input Status Register 1 - color emulation */
> #define VGA_IS1_RM 0x3BA /* Input Status Register 1 - mono emulation */
> #define VGA_PEL_D 0x3C9 /* PEL Data Register */
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
` (3 preceding siblings ...)
2025-12-09 7:55 ` [PATCH v2 " Ville Syrjala
@ 2025-12-10 14:13 ` kernel test robot
2025-12-10 14:24 ` kernel test robot
5 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-10 14:13 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: oe-kbuild-all, intel-xe, Helge Deller, linux-fbdev, dri-devel
Hi Ville,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-xe/drm-xe-next linus/master v6.18 next-20251210]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-vga-Register-vgaarb-client-later/20251209-195929
base: https://gitlab.freedesktop.org/drm/tip.git drm-tip
patch link: https://lore.kernel.org/r/20251208182637.334-15-ville.syrjala%40linux.intel.com
patch subject: [PATCH 14/19] video/vga: Add VGA_IS0_R
config: parisc-randconfig-002-20251210 (https://download.01.org/0day-ci/archive/20251210/202512102159.xsvvXCXy-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251210/202512102159.xsvvXCXy-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512102159.xsvvXCXy-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/svga.h:6,
from drivers/video/fbdev/arkfb.c:24:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from drivers/video/fbdev/arkfb.c:28:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
drivers/video/fbdev/arkfb.c:68:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_total_regs[] = {{0x00, 0, 7}, {0x41, 7, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:69:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_display_regs[] = {{0x01, 0, 7}, {0x41, 6, 6}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:70:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_blank_start_regs[] = {{0x02, 0, 7}, {0x41, 5, 5}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:71:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_blank_end_regs[] = {{0x03, 0, 4}, {0x05, 7, 7 }, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:72:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_sync_start_regs[] = {{0x04, 0, 7}, {0x41, 4, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:73:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_h_sync_end_regs[] = {{0x05, 0, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:75:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_total_regs[] = {{0x06, 0, 7}, {0x07, 0, 0}, {0x07, 5, 5}, {0x40, 7, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:76:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_display_regs[] = {{0x12, 0, 7}, {0x07, 1, 1}, {0x07, 6, 6}, {0x40, 6, 6}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:77:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_blank_start_regs[] = {{0x15, 0, 7}, {0x07, 3, 3}, {0x09, 5, 5}, {0x40, 5, 5}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:79:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_blank_end_regs[] = {{0x16, 0, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:80:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_sync_start_regs[] = {{0x10, 0, 7}, {0x07, 2, 2}, {0x07, 7, 7}, {0x40, 4, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:81:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_v_sync_end_regs[] = {{0x11, 0, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:83:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_line_compare_regs[] = {{0x18, 0, 7}, {0x07, 4, 4}, {0x09, 6, 6}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:84:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_start_address_regs[] = {{0x0d, 0, 7}, {0x0c, 0, 7}, {0x40, 0, 2}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:85:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset ark_offset_regs[] = {{0x13, 0, 7}, {0x41, 3, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c: In function 'arkfb_tilecursor':
>> drivers/video/fbdev/arkfb.c:152:21: error: dereferencing pointer to incomplete type 'struct arkfb_info'
svga_tilecursor(par->state.vgabase, info, cursor);
^~
drivers/video/fbdev/arkfb.c: At top level:
drivers/video/fbdev/arkfb.c:303:29: warning: 'struct dac_info' declared inside parameter list will not be visible outside of this definition or declaration
int (*dac_get_mode)(struct dac_info *info);
^~~~~~~~
drivers/video/fbdev/arkfb.c:304:29: warning: 'struct dac_info' declared inside parameter list will not be visible outside of this definition or declaration
int (*dac_set_mode)(struct dac_info *info, int mode);
^~~~~~~~
drivers/video/fbdev/arkfb.c:305:29: warning: 'struct dac_info' declared inside parameter list will not be visible outside of this definition or declaration
int (*dac_get_freq)(struct dac_info *info, int channel);
^~~~~~~~
drivers/video/fbdev/arkfb.c:306:29: warning: 'struct dac_info' declared inside parameter list will not be visible outside of this definition or declaration
int (*dac_set_freq)(struct dac_info *info, int channel, u32 freq);
^~~~~~~~
drivers/video/fbdev/arkfb.c:307:29: warning: 'struct dac_info' declared inside parameter list will not be visible outside of this definition or declaration
void (*dac_release)(struct dac_info *info);
^~~~~~~~
drivers/video/fbdev/arkfb.c: In function 'dac_set_mode':
drivers/video/fbdev/arkfb.c:339:36: error: passing argument 1 of 'info->dacops->dac_set_mode' from incompatible pointer type [-Werror=incompatible-pointer-types]
return info->dacops->dac_set_mode(info, mode);
^~~~
drivers/video/fbdev/arkfb.c:339:36: note: expected 'struct dac_info *' but argument is of type 'struct dac_info *'
drivers/video/fbdev/arkfb.c: In function 'dac_set_freq':
drivers/video/fbdev/arkfb.c:344:36: error: passing argument 1 of 'info->dacops->dac_set_freq' from incompatible pointer type [-Werror=incompatible-pointer-types]
return info->dacops->dac_set_freq(info, channel, freq);
^~~~
drivers/video/fbdev/arkfb.c:344:36: note: expected 'struct dac_info *' but argument is of type 'struct dac_info *'
drivers/video/fbdev/arkfb.c: In function 'dac_release':
drivers/video/fbdev/arkfb.c:349:28: error: passing argument 1 of 'info->dacops->dac_release' from incompatible pointer type [-Werror=incompatible-pointer-types]
info->dacops->dac_release(info);
^~~~
drivers/video/fbdev/arkfb.c:349:28: note: expected 'struct dac_info *' but argument is of type 'struct dac_info *'
drivers/video/fbdev/arkfb.c: At top level:
drivers/video/fbdev/arkfb.c:426:18: error: initialization of 'int (*)(struct dac_info *, int)' from incompatible pointer type 'int (*)(struct dac_info *, int)' [-Werror=incompatible-pointer-types]
.dac_set_mode = ics5342_set_mode,
^~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:426:18: note: (near initialization for 'ics5342_ops.dac_set_mode')
drivers/video/fbdev/arkfb.c:427:18: error: initialization of 'int (*)(struct dac_info *, int, u32)' {aka 'int (*)(struct dac_info *, int, unsigned int)'} from incompatible pointer type 'int (*)(struct dac_info *, int, u32)' {aka 'int (*)(struct dac_info *, int, unsigned int)'} [-Werror=incompatible-pointer-types]
.dac_set_freq = ics5342_set_freq,
^~~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:427:18: note: (near initialization for 'ics5342_ops.dac_set_freq')
drivers/video/fbdev/arkfb.c:428:17: error: initialization of 'void (*)(struct dac_info *)' from incompatible pointer type 'void (*)(struct dac_info *)' [-Werror=incompatible-pointer-types]
.dac_release = ics5342_release
^~~~~~~~~~~~~~~
drivers/video/fbdev/arkfb.c:428:17: note: (near initialization for 'ics5342_ops.dac_release')
drivers/video/fbdev/arkfb.c: In function 'ark_dac_read_regs':
drivers/video/fbdev/arkfb.c:461:23: error: dereferencing pointer to incomplete type 'struct arkfb_info'
regval = vga_rseq(par->state.vgabase, 0x1C);
^~
drivers/video/fbdev/arkfb.c: In function 'ark_dac_write_regs':
drivers/video/fbdev/arkfb.c:480:23: error: dereferencing pointer to incomplete type 'struct arkfb_info'
regval = vga_rseq(par->state.vgabase, 0x1C);
^~
drivers/video/fbdev/arkfb.c: In function 'ark_set_pixclock':
drivers/video/fbdev/arkfb.c:498:27: error: dereferencing pointer to incomplete type 'struct arkfb_info'
int rv = dac_set_freq(par->dac, 0, 1000000000 / pixclock);
^~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:18,
from drivers/video/fbdev/arkfb.c:15:
drivers/video/fbdev/arkfb.c: In function 'arkfb_open':
drivers/video/fbdev/arkfb.c:516:18: error: dereferencing pointer to incomplete type 'struct arkfb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
drivers/video/fbdev/arkfb.c: In function 'arkfb_release':
drivers/video/fbdev/arkfb.c:540:18: error: dereferencing pointer to incomplete type 'struct arkfb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
drivers/video/fbdev/arkfb.c: In function 'arkfb_set_par':
drivers/video/fbdev/arkfb.c:658:20: error: dereferencing pointer to incomplete type 'struct arkfb_info'
svga_wcrt_mask(par->state.vgabase, 0x11, 0x00, 0x80);
^~
drivers/video/fbdev/arkfb.c: In function 'arkfb_blank':
drivers/video/fbdev/arkfb.c:881:21: error: dereferencing pointer to incomplete type 'struct arkfb_info'
svga_wseq_mask(par->state.vgabase, 0x01, 0x00, 0x20);
^~
drivers/video/fbdev/arkfb.c: In function 'arkfb_pan_display':
drivers/video/fbdev/arkfb.c:920:21: error: dereferencing pointer to incomplete type 'struct arkfb_info'
svga_wcrt_multi(par->state.vgabase, ark_start_address_regs, offset);
^~
drivers/video/fbdev/arkfb.c: In function 'ark_pci_probe':
drivers/video/fbdev/arkfb.c:973:34: error: invalid application of 'sizeof' to incomplete type 'struct arkfb_info'
info = framebuffer_alloc(sizeof(struct arkfb_info), &(dev->dev));
^~~~~~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
--
In file included from include/linux/svga.h:6,
from drivers/video/fbdev/vt8623fb.c:24:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
In file included from drivers/video/fbdev/vt8623fb.c:28:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
?
^
drivers/video/fbdev/vt8623fb.c:66:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_total_regs[] = {{0x00, 0, 7}, {0x36, 3, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:67:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_display_regs[] = {{0x01, 0, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:68:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_blank_start_regs[] = {{0x02, 0, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:69:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_blank_end_regs[] = {{0x03, 0, 4}, {0x05, 7, 7}, {0x33, 5, 5}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:70:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_sync_start_regs[] = {{0x04, 0, 7}, {0x33, 4, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:71:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_h_sync_end_regs[] = {{0x05, 0, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:73:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_total_regs[] = {{0x06, 0, 7}, {0x07, 0, 0}, {0x07, 5, 5}, {0x35, 0, 0}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:74:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_display_regs[] = {{0x12, 0, 7}, {0x07, 1, 1}, {0x07, 6, 6}, {0x35, 2, 2}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:75:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_blank_start_regs[] = {{0x15, 0, 7}, {0x07, 3, 3}, {0x09, 5, 5}, {0x35, 3, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:76:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_blank_end_regs[] = {{0x16, 0, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:77:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_sync_start_regs[] = {{0x10, 0, 7}, {0x07, 2, 2}, {0x07, 7, 7}, {0x35, 1, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:78:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_v_sync_end_regs[] = {{0x11, 0, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:80:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_offset_regs[] = {{0x13, 0, 7}, {0x35, 5, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:81:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_line_compare_regs[] = {{0x18, 0, 7}, {0x07, 4, 4}, {0x09, 6, 6}, {0x33, 0, 2}, {0x35, 4, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:82:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_fetch_count_regs[] = {{0x1C, 0, 7}, {0x1D, 0, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:83:32: error: array type has incomplete element type 'struct vga_regset'
static const struct vga_regset vt8623_start_address_regs[] = {{0x0d, 0, 7}, {0x0c, 0, 7}, {0x34, 0, 7}, {0x48, 0, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_tilecursor':
>> drivers/video/fbdev/vt8623fb.c:119:21: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
svga_tilecursor(par->state.vgabase, info, cursor);
^~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623_set_pixclock':
drivers/video/fbdev/vt8623fb.c:265:20: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
regval = vga_r(par->state.vgabase, VGA_MIS_R);
^~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:18,
from drivers/video/fbdev/vt8623fb.c:16:
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_open':
drivers/video/fbdev/vt8623fb.c:284:18: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_release':
drivers/video/fbdev/vt8623fb.c:306:18: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_set_par':
drivers/video/fbdev/vt8623fb.c:431:20: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
svga_wseq_mask(par->state.vgabase, 0x10, 0x01, 0x01);
^~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_blank':
drivers/video/fbdev/vt8623fb.c:593:21: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
svga_wcrt_mask(par->state.vgabase, 0x36, 0x00, 0x30);
^~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623fb_pan_display':
drivers/video/fbdev/vt8623fb.c:639:21: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
svga_wcrt_multi(par->state.vgabase, vt8623_start_address_regs, offset);
^~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623_pci_probe':
drivers/video/fbdev/vt8623fb.c:690:34: error: invalid application of 'sizeof' to incomplete type 'struct vt8623fb_info'
info = framebuffer_alloc(sizeof(struct vt8623fb_info), &(dev->dev));
^~~~~~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:18,
from drivers/video/fbdev/vt8623fb.c:16:
drivers/video/fbdev/vt8623fb.c:695:17: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
mutex_init(&par->open_lock);
^~
include/linux/mutex.h:64:16: note: in definition of macro 'mutex_init'
__mutex_init((mutex), #mutex, &__key); \
^~~~~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623_pci_remove':
drivers/video/fbdev/vt8623fb.c:823:23: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
arch_phys_wc_del(par->wc_cookie);
^~
In file included from include/linux/seqlock.h:19,
from include/linux/mmzone.h:17,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:18,
from drivers/video/fbdev/vt8623fb.c:16:
drivers/video/fbdev/vt8623fb.c: In function 'vt8623_pci_suspend':
drivers/video/fbdev/vt8623fb.c:847:18: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
drivers/video/fbdev/vt8623fb.c: In function 'vt8623_pci_resume':
drivers/video/fbdev/vt8623fb.c:874:18: error: dereferencing pointer to incomplete type 'struct vt8623fb_info'
mutex_lock(&(par->open_lock));
^~
include/linux/mutex.h:168:44: note: in definition of macro 'mutex_lock'
#define mutex_lock(lock) mutex_lock_nested(lock, 0)
^~~~
At top level:
drivers/video/fbdev/vt8623fb.c:83:32: warning: 'vt8623_start_address_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_start_address_regs[] = {{0x0d, 0, 7}, {0x0c, 0, 7}, {0x34, 0, 7}, {0x48, 0, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:82:32: warning: 'vt8623_fetch_count_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_fetch_count_regs[] = {{0x1C, 0, 7}, {0x1D, 0, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:81:32: warning: 'vt8623_line_compare_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_line_compare_regs[] = {{0x18, 0, 7}, {0x07, 4, 4}, {0x09, 6, 6}, {0x33, 0, 2}, {0x35, 4, 4}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:80:32: warning: 'vt8623_offset_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_offset_regs[] = {{0x13, 0, 7}, {0x35, 5, 7}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:78:32: warning: 'vt8623_v_sync_end_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_v_sync_end_regs[] = {{0x11, 0, 3}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/vt8623fb.c:77:32: warning: 'vt8623_v_sync_start_regs' defined but not used [-Wunused-variable]
static const struct vga_regset vt8623_v_sync_start_regs[] = {{0x10, 0, 7}, {0x07, 2, 2}, {0x07, 7, 7}, {0x35, 1, 1}, VGA_REGSET_END};
^~~~~~~~~~~~~~~~~~~~~~~~
..
vim +152 drivers/video/fbdev/arkfb.c
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 82
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 83 static const struct vga_regset ark_line_compare_regs[] = {{0x18, 0, 7}, {0x07, 4, 4}, {0x09, 6, 6}, VGA_REGSET_END};
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 @84 static const struct vga_regset ark_start_address_regs[] = {{0x0d, 0, 7}, {0x0c, 0, 7}, {0x40, 0, 2}, VGA_REGSET_END};
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 85 static const struct vga_regset ark_offset_regs[] = {{0x13, 0, 7}, {0x41, 3, 3}, VGA_REGSET_END};
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 86
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 87 static const struct svga_timing_regs ark_timing_regs = {
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 88 ark_h_total_regs, ark_h_display_regs, ark_h_blank_start_regs,
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 89 ark_h_blank_end_regs, ark_h_sync_start_regs, ark_h_sync_end_regs,
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 90 ark_v_total_regs, ark_v_display_regs, ark_v_blank_start_regs,
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 91 ark_v_blank_end_regs, ark_v_sync_start_regs, ark_v_sync_end_regs,
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 92 };
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 93
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 94
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 95 /* ------------------------------------------------------------------------- */
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 96
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 97
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 98 /* Module parameters */
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 99
48c68c4f1b5424 drivers/video/arkfb.c Greg Kroah-Hartman 2012-12-21 100 static char *mode_option = "640x480-8@60";
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 101
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 102 MODULE_AUTHOR("(c) 2007 Ondrej Zajicek <santiago@crfreenet.org>");
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 103 MODULE_LICENSE("GPL");
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 104 MODULE_DESCRIPTION("fbdev driver for ARK 2000PV");
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 105
1abf91729faf2f drivers/video/arkfb.c Krzysztof Helt 2008-04-28 106 module_param(mode_option, charp, 0444);
1abf91729faf2f drivers/video/arkfb.c Krzysztof Helt 2008-04-28 107 MODULE_PARM_DESC(mode_option, "Default video mode ('640x480-8@60', etc)");
1abf91729faf2f drivers/video/arkfb.c Krzysztof Helt 2008-04-28 108 module_param_named(mode, mode_option, charp, 0444);
1abf91729faf2f drivers/video/arkfb.c Krzysztof Helt 2008-04-28 109 MODULE_PARM_DESC(mode, "Default video mode ('640x480-8@60', etc) (deprecated)");
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 110
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 111 static int threshold = 4;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 112
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 113 module_param(threshold, int, 0644);
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 114 MODULE_PARM_DESC(threshold, "FIFO threshold");
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 115
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 116
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 117 /* ------------------------------------------------------------------------- */
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 118
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 119
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 120 static void arkfb_settile(struct fb_info *info, struct fb_tilemap *map)
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 121 {
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 122 const u8 *font = map->data;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 123 u8 __iomem *fb = (u8 __iomem *)info->screen_base;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 124 int i, c;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 125
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 126 if ((map->width != 8) || (map->height != 16) ||
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 127 (map->depth != 1) || (map->length != 256)) {
31b6780c15a4e3 drivers/video/arkfb.c Joe Perches 2013-09-19 128 fb_err(info, "unsupported font parameters: width %d, height %d, depth %d, length %d\n",
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 129 map->width, map->height, map->depth, map->length);
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 130 return;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 131 }
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 132
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 133 fb += 2;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 134 for (c = 0; c < map->length; c++) {
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 135 for (i = 0; i < map->height; i++) {
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 136 fb_writeb(font[i], &fb[i * 4]);
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 137 fb_writeb(font[i], &fb[i * 4 + (128 * 8)]);
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 138 }
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 139 fb += 128;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 140
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 141 if ((c % 8) == 7)
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 142 fb += 128*8;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 143
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 144 font += map->height;
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 145 }
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 146 }
681e14730c73cc drivers/video/arkfb.c Ondrej Zajicek 2007-05-09 147
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 148 static void arkfb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 149 {
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 150 struct arkfb_info *par = info->par;
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 151
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 @152 svga_tilecursor(par->state.vgabase, info, cursor);
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 153 }
55db0923884554 drivers/video/arkfb.c David Miller 2011-01-11 154
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 14/19] video/vga: Add VGA_IS0_R
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
` (4 preceding siblings ...)
2025-12-10 14:13 ` [PATCH " kernel test robot
@ 2025-12-10 14:24 ` kernel test robot
5 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-10 14:24 UTC (permalink / raw)
To: Ville Syrjala, intel-gfx
Cc: oe-kbuild-all, intel-xe, Helge Deller, linux-fbdev, dri-devel
Hi Ville,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-xe/drm-xe-next linus/master v6.18 next-20251210]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-vga-Register-vgaarb-client-later/20251209-195929
base: https://gitlab.freedesktop.org/drm/tip.git drm-tip
patch link: https://lore.kernel.org/r/20251208182637.334-15-ville.syrjala%40linux.intel.com
patch subject: [PATCH 14/19] video/vga: Add VGA_IS0_R
config: s390-randconfig-002-20251210 (https://download.01.org/0day-ci/archive/20251210/202512102200.KIAC3RLu-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251210/202512102200.KIAC3RLu-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512102200.KIAC3RLu-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/video/vgastate.c:20:
include/video/vga.h:489:1: error: expected identifier or '(' before '?' token
489 | ?
| ^
drivers/video/vgastate.c: In function 'save_vga_text':
>> drivers/video/vgastate.c:89:9: error: dereferencing pointer to incomplete type 'struct regstate'
89 | saved->vga_font0[i] = vga_r(fbbase, i);
| ^~
drivers/video/vgastate.c: In function 'restore_vga_text':
drivers/video/vgastate.c:175:26: error: dereferencing pointer to incomplete type 'struct regstate'
175 | vga_w(fbbase, i, saved->vga_font0[i]);
| ^~
drivers/video/vgastate.c: In function 'save_vga_mode':
drivers/video/vgastate.c:232:7: error: dereferencing pointer to incomplete type 'struct regstate'
232 | saved->misc = vga_r(state->vgabase, VGA_MIS_R);
| ^~
drivers/video/vgastate.c: In function 'restore_vga_mode':
drivers/video/vgastate.c:263:40: error: dereferencing pointer to incomplete type 'struct regstate'
263 | vga_w(state->vgabase, VGA_MIS_W, saved->misc);
| ^~
drivers/video/vgastate.c: In function 'save_vga_cmap':
drivers/video/vgastate.c:319:8: error: dereferencing pointer to incomplete type 'struct regstate'
319 | saved->vga_cmap[i] = vga_r(state->vgabase, VGA_PEL_D);
| ^~
drivers/video/vgastate.c: In function 'restore_vga_cmap':
drivers/video/vgastate.c:332:41: error: dereferencing pointer to incomplete type 'struct regstate'
332 | vga_w(state->vgabase, VGA_PEL_D, saved->vga_cmap[i]);
| ^~
drivers/video/vgastate.c: In function 'vga_cleanup':
drivers/video/vgastate.c:340:14: error: dereferencing pointer to incomplete type 'struct regstate'
340 | vfree(saved->vga_font0);
| ^~
In file included from include/linux/workqueue.h:9,
from include/linux/mm_types.h:19,
from include/linux/mmzone.h:22,
from include/linux/gfp.h:7,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:18,
from drivers/video/vgastate.c:16:
drivers/video/vgastate.c: In function 'save_vga':
drivers/video/vgastate.c:354:25: error: invalid application of 'sizeof' to incomplete type 'struct regstate'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~
include/linux/alloc_tag.h:251:9: note: in definition of macro 'alloc_hooks_tag'
251 | typeof(_do_alloc) _res; \
| ^~~~~~~~~
include/linux/slab.h:1096:25: note: in expansion of macro 'alloc_hooks'
1096 | #define kzalloc(...) alloc_hooks(kzalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/video/vgastate.c:354:10: note: in expansion of macro 'kzalloc'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~~
drivers/video/vgastate.c:354:25: error: invalid application of 'sizeof' to incomplete type 'struct regstate'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~
include/linux/alloc_tag.h:255:10: note: in definition of macro 'alloc_hooks_tag'
255 | _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:1096:25: note: in expansion of macro 'alloc_hooks'
1096 | #define kzalloc(...) alloc_hooks(kzalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/video/vgastate.c:354:10: note: in expansion of macro 'kzalloc'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~~
drivers/video/vgastate.c:354:25: error: invalid application of 'sizeof' to incomplete type 'struct regstate'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~
include/linux/alloc_tag.h:258:10: note: in definition of macro 'alloc_hooks_tag'
258 | _res = _do_alloc; \
| ^~~~~~~~~
include/linux/slab.h:1096:25: note: in expansion of macro 'alloc_hooks'
1096 | #define kzalloc(...) alloc_hooks(kzalloc_noprof(__VA_ARGS__))
| ^~~~~~~~~~~
drivers/video/vgastate.c:354:10: note: in expansion of macro 'kzalloc'
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^~~~~~~
drivers/video/vgastate.c:354:8: warning: assignment to 'struct regstate *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
354 | saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
| ^
drivers/video/vgastate.c:362:8: error: dereferencing pointer to incomplete type 'struct regstate'
362 | saved->vga_cmap = vmalloc(768);
| ^~
vim +89 drivers/video/vgastate.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 47
^1da177e4c3f41 Linus Torvalds 2005-04-16 48 static void save_vga_text(struct vgastate *state, void __iomem *fbbase)
^1da177e4c3f41 Linus Torvalds 2005-04-16 49 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 50 struct regstate *saved = (struct regstate *) state->vidstate;
^1da177e4c3f41 Linus Torvalds 2005-04-16 51 int i;
^1da177e4c3f41 Linus Torvalds 2005-04-16 52 u8 misc, attr10, gr4, gr5, gr6, seq1, seq2, seq4;
0449359f053829 Ondrej Zajicek 2007-05-08 53 unsigned short iobase;
^1da177e4c3f41 Linus Torvalds 2005-04-16 54
^1da177e4c3f41 Linus Torvalds 2005-04-16 55 /* if in graphics mode, no need to save */
0449359f053829 Ondrej Zajicek 2007-05-08 56 misc = vga_r(state->vgabase, VGA_MIS_R);
0449359f053829 Ondrej Zajicek 2007-05-08 57 iobase = (misc & 1) ? 0x3d0 : 0x3b0;
0449359f053829 Ondrej Zajicek 2007-05-08 58
0449359f053829 Ondrej Zajicek 2007-05-08 59 vga_r(state->vgabase, iobase + 0xa);
0449359f053829 Ondrej Zajicek 2007-05-08 60 vga_w(state->vgabase, VGA_ATT_W, 0x00);
^1da177e4c3f41 Linus Torvalds 2005-04-16 61 attr10 = vga_rattr(state->vgabase, 0x10);
0449359f053829 Ondrej Zajicek 2007-05-08 62 vga_r(state->vgabase, iobase + 0xa);
0449359f053829 Ondrej Zajicek 2007-05-08 63 vga_w(state->vgabase, VGA_ATT_W, 0x20);
0449359f053829 Ondrej Zajicek 2007-05-08 64
^1da177e4c3f41 Linus Torvalds 2005-04-16 65 if (attr10 & 1)
^1da177e4c3f41 Linus Torvalds 2005-04-16 66 return;
^1da177e4c3f41 Linus Torvalds 2005-04-16 67
^1da177e4c3f41 Linus Torvalds 2005-04-16 68 /* save regs */
^1da177e4c3f41 Linus Torvalds 2005-04-16 69 gr4 = vga_rgfx(state->vgabase, VGA_GFX_PLANE_READ);
^1da177e4c3f41 Linus Torvalds 2005-04-16 70 gr5 = vga_rgfx(state->vgabase, VGA_GFX_MODE);
^1da177e4c3f41 Linus Torvalds 2005-04-16 71 gr6 = vga_rgfx(state->vgabase, VGA_GFX_MISC);
^1da177e4c3f41 Linus Torvalds 2005-04-16 72 seq2 = vga_rseq(state->vgabase, VGA_SEQ_PLANE_WRITE);
^1da177e4c3f41 Linus Torvalds 2005-04-16 73 seq4 = vga_rseq(state->vgabase, VGA_SEQ_MEMORY_MODE);
^1da177e4c3f41 Linus Torvalds 2005-04-16 74
^1da177e4c3f41 Linus Torvalds 2005-04-16 75 /* blank screen */
^1da177e4c3f41 Linus Torvalds 2005-04-16 76 seq1 = vga_rseq(state->vgabase, VGA_SEQ_CLOCK_MODE);
^1da177e4c3f41 Linus Torvalds 2005-04-16 77 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 78 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, seq1 | 1 << 5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 79 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x3);
^1da177e4c3f41 Linus Torvalds 2005-04-16 80
^1da177e4c3f41 Linus Torvalds 2005-04-16 81 /* save font at plane 2 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 82 if (state->flags & VGA_SAVE_FONT0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 83 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x4);
^1da177e4c3f41 Linus Torvalds 2005-04-16 84 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 85 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 86 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 87 vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 88 for (i = 0; i < 4 * 8192; i++)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @89 saved->vga_font0[i] = vga_r(fbbase, i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 90 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 91
^1da177e4c3f41 Linus Torvalds 2005-04-16 92 /* save font at plane 3 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 93 if (state->flags & VGA_SAVE_FONT1) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 94 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x8);
^1da177e4c3f41 Linus Torvalds 2005-04-16 95 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 96 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x3);
^1da177e4c3f41 Linus Torvalds 2005-04-16 97 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 98 vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 99 for (i = 0; i < state->memsize; i++)
^1da177e4c3f41 Linus Torvalds 2005-04-16 100 saved->vga_font1[i] = vga_r(fbbase, i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 101 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 102
^1da177e4c3f41 Linus Torvalds 2005-04-16 103 /* save font at plane 0/1 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 104 if (state->flags & VGA_SAVE_TEXT) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 105 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 106 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 107 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 108 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 109 vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 110 for (i = 0; i < 8192; i++)
^1da177e4c3f41 Linus Torvalds 2005-04-16 111 saved->vga_text[i] = vga_r(fbbase, i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 112
^1da177e4c3f41 Linus Torvalds 2005-04-16 113 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, 0x2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 114 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, 0x6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 115 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, 0x1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 116 vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x0);
^1da177e4c3f41 Linus Torvalds 2005-04-16 117 vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 118 for (i = 0; i < 8192; i++)
^1da177e4c3f41 Linus Torvalds 2005-04-16 119 saved->vga_text[8192+i] = vga_r(fbbase + 2 * 8192, i);
^1da177e4c3f41 Linus Torvalds 2005-04-16 120 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 121
^1da177e4c3f41 Linus Torvalds 2005-04-16 122 /* restore regs */
^1da177e4c3f41 Linus Torvalds 2005-04-16 123 vga_wseq(state->vgabase, VGA_SEQ_PLANE_WRITE, seq2);
^1da177e4c3f41 Linus Torvalds 2005-04-16 124 vga_wseq(state->vgabase, VGA_SEQ_MEMORY_MODE, seq4);
^1da177e4c3f41 Linus Torvalds 2005-04-16 125
^1da177e4c3f41 Linus Torvalds 2005-04-16 126 vga_wgfx(state->vgabase, VGA_GFX_PLANE_READ, gr4);
^1da177e4c3f41 Linus Torvalds 2005-04-16 127 vga_wgfx(state->vgabase, VGA_GFX_MODE, gr5);
^1da177e4c3f41 Linus Torvalds 2005-04-16 128 vga_wgfx(state->vgabase, VGA_GFX_MISC, gr6);
^1da177e4c3f41 Linus Torvalds 2005-04-16 129
^1da177e4c3f41 Linus Torvalds 2005-04-16 130 /* unblank screen */
^1da177e4c3f41 Linus Torvalds 2005-04-16 131 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 132 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, seq1 & ~(1 << 5));
^1da177e4c3f41 Linus Torvalds 2005-04-16 133 vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x3);
^1da177e4c3f41 Linus Torvalds 2005-04-16 134
^1da177e4c3f41 Linus Torvalds 2005-04-16 135 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, seq1);
^1da177e4c3f41 Linus Torvalds 2005-04-16 136 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 137
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 14/19] video/vga: Add VGA_IS0_R
2025-12-09 10:55 ` Jani Nikula
@ 2025-12-18 16:56 ` Ville Syrjälä
2025-12-30 8:30 ` Helge Deller
0 siblings, 1 reply; 10+ messages in thread
From: Ville Syrjälä @ 2025-12-18 16:56 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, Helge Deller, linux-fbdev, dri-devel
On Tue, Dec 09, 2025 at 12:55:49PM +0200, Jani Nikula wrote:
> On Tue, 09 Dec 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Add a proper name for the "Input status register 0" IO address.
> > Currently we have some code that does read addressed using the
> > aliasing VGA_MSR_W define, making it unclear what register we're
> > actually reading.
> >
> > v2: Remove stray '?'
> >
> > Cc: Helge Deller <deller@gmx.de>
Helge, can you toss me an ack to merge this via drm-intel please?
> > Cc: linux-fbdev@vger.kernel.org
> > Cc: dri-devel@lists.freedesktop.org
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> > ---
> > include/video/vga.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/include/video/vga.h b/include/video/vga.h
> > index 468764d6727a..2f13c371800b 100644
> > --- a/include/video/vga.h
> > +++ b/include/video/vga.h
> > @@ -46,6 +46,7 @@
> > #define VGA_MIS_R 0x3CC /* Misc Output Read Register */
> > #define VGA_MIS_W 0x3C2 /* Misc Output Write Register */
> > #define VGA_FTC_R 0x3CA /* Feature Control Read Register */
> > +#define VGA_IS0_R 0x3C2 /* Input Status Register 0 */
> > #define VGA_IS1_RC 0x3DA /* Input Status Register 1 - color emulation */
> > #define VGA_IS1_RM 0x3BA /* Input Status Register 1 - mono emulation */
> > #define VGA_PEL_D 0x3C9 /* PEL Data Register */
>
> --
> Jani Nikula, Intel
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 14/19] video/vga: Add VGA_IS0_R
2025-12-18 16:56 ` Ville Syrjälä
@ 2025-12-30 8:30 ` Helge Deller
0 siblings, 0 replies; 10+ messages in thread
From: Helge Deller @ 2025-12-30 8:30 UTC (permalink / raw)
To: Ville Syrjälä, Jani Nikula; +Cc: linux-fbdev, dri-devel
On 12/18/25 17:56, Ville Syrjälä wrote:
> On Tue, Dec 09, 2025 at 12:55:49PM +0200, Jani Nikula wrote:
>> On Tue, 09 Dec 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>
>>> Add a proper name for the "Input status register 0" IO address.
>>> Currently we have some code that does read addressed using the
>>> aliasing VGA_MSR_W define, making it unclear what register we're
>>> actually reading.
>>>
>>> v2: Remove stray '?'
>>>
>>> Cc: Helge Deller <deller@gmx.de>
>
> Helge, can you toss me an ack to merge this via drm-intel please?
of course!
Acked-by: Helge Deller <deller@gmx.de>
>>> Cc: linux-fbdev@vger.kernel.org
>>> Cc: dri-devel@lists.freedesktop.org
>>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>>
>>> ---
>>> include/video/vga.h | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/include/video/vga.h b/include/video/vga.h
>>> index 468764d6727a..2f13c371800b 100644
>>> --- a/include/video/vga.h
>>> +++ b/include/video/vga.h
>>> @@ -46,6 +46,7 @@
>>> #define VGA_MIS_R 0x3CC /* Misc Output Read Register */
>>> #define VGA_MIS_W 0x3C2 /* Misc Output Write Register */
>>> #define VGA_FTC_R 0x3CA /* Feature Control Read Register */
>>> +#define VGA_IS0_R 0x3C2 /* Input Status Register 0 */
>>> #define VGA_IS1_RC 0x3DA /* Input Status Register 1 - color emulation */
>>> #define VGA_IS1_RM 0x3BA /* Input Status Register 1 - mono emulation */
>>> #define VGA_PEL_D 0x3C9 /* PEL Data Register */
>>
>> --
>> Jani Nikula, Intel
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-12-30 8:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20251208182637.334-1-ville.syrjala@linux.intel.com>
2025-12-08 18:26 ` [PATCH 14/19] video/vga: Add VGA_IS0_R Ville Syrjala
2025-12-08 21:07 ` kernel test robot
2025-12-08 21:18 ` kernel test robot
2025-12-08 22:22 ` kernel test robot
2025-12-09 7:55 ` [PATCH v2 " Ville Syrjala
2025-12-09 10:55 ` Jani Nikula
2025-12-18 16:56 ` Ville Syrjälä
2025-12-30 8:30 ` Helge Deller
2025-12-10 14:13 ` [PATCH " kernel test robot
2025-12-10 14:24 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).