/
usr
/
src
/
linux-headers-5.15.0-181
/
include
/
uapi
/
linux
/
/usr/src/linux-headers-5.15.0-181/include/uapi/linux
mkdir
upload
Name
Size
Mode
Actions
android/
-
0755
rm
byteorder/
-
0755
rm
caif/
-
0755
rm
can/
-
0755
rm
cifs/
-
0755
rm
dvb/
-
0755
rm
genwqe/
-
0755
rm
hdlc/
-
0755
rm
hsi/
-
0755
rm
iio/
-
0755
rm
isdn/
-
0755
rm
misc/
-
0755
rm
mmc/
-
0755
rm
netfilter/
-
0755
rm
netfilter_arp/
-
0755
rm
netfilter_bridge/
-
0755
rm
netfilter_ipv4/
-
0755
rm
netfilter_ipv6/
-
0755
rm
nfsd/
-
0755
rm
raid/
-
0755
rm
sched/
-
0755
rm
spi/
-
0755
rm
sunrpc/
-
0755
rm
surface_aggregator/
-
0755
rm
tc_act/
-
0755
rm
tc_ematch/
-
0755
rm
usb/
-
0755
rm
a.out.h
6959
0644
edit
dl
rm
acct.h
4013
0644
edit
dl
rm
acrn.h
16705
0644
edit
dl
rm
adb.h
1155
0644
edit
dl
rm
adfs_fs.h
1008
0644
edit
dl
rm
affs_hardblocks.h
1578
0644
edit
dl
rm
agpgart.h
4001
0644
edit
dl
rm
aio_abi.h
3398
0644
edit
dl
rm
am437x-vpfe.h
3681
0644
edit
dl
rm
apm_bios.h
3698
0644
edit
dl
rm
arcfb.h
213
0644
edit
dl
rm
arm_sdei.h
2766
0644
edit
dl
rm
aspeed-lpc-ctrl.h
1795
0644
edit
dl
rm
aspeed-p2a-ctrl.h
1921
0644
edit
dl
rm
atalk.h
1038
0644
edit
dl
rm
atm.h
7937
0644
edit
dl
rm
atmapi.h
952
0644
edit
dl
rm
atmarp.h
1296
0644
edit
dl
rm
atmbr2684.h
3271
0644
edit
dl
rm
atmclip.h
576
0644
edit
dl
rm
atmdev.h
7699
0644
edit
dl
rm
atmioc.h
1647
0644
edit
dl
rm
atmlec.h
2381
0644
edit
dl
rm
atmmpc.h
4226
0644
edit
dl
rm
atmppp.h
639
0644
edit
dl
rm
atmsap.h
4970
0644
edit
dl
rm
atmsvc.h
1853
0644
edit
dl
rm
atm_eni.h
648
0644
edit
dl
rm
atm_he.h
406
0644
edit
dl
rm
atm_idt77105.h
955
0644
edit
dl
rm
atm_nicstar.h
1278
0644
edit
dl
rm
atm_tcp.h
1637
0644
edit
dl
rm
atm_zatm.h
1540
0644
edit
dl
rm
audit.h
21267
0644
edit
dl
rm
aufs_type.h
12641
0644
edit
dl
rm
auto_dev-ioctl.h
4996
0644
edit
dl
rm
auto_fs.h
6450
0644
edit
dl
rm
auto_fs4.h
466
0644
edit
dl
rm
auxvec.h
1612
0644
edit
dl
rm
ax25.h
2824
0644
edit
dl
rm
batadv_packet.h
20360
0644
edit
dl
rm
batman_adv.h
16902
0644
edit
dl
rm
baycom.h
883
0644
edit
dl
rm
bcache.h
9910
0644
edit
dl
rm
bcm933xx_hcs.h
419
0644
edit
dl
rm
bfs_fs.h
1905
0644
edit
dl
rm
binfmts.h
791
0644
edit
dl
rm
blkpg.h
953
0644
edit
dl
rm
blktrace_api.h
4716
0644
edit
dl
rm
blkzoned.h
6508
0644
edit
dl
rm
bpf.h
235084
0644
edit
dl
rm
bpfilter.h
480
0644
edit
dl
rm
bpf_common.h
1382
0644
edit
dl
rm
bpf_perf_event.h
544
0644
edit
dl
rm
bpqether.h
981
0644
edit
dl
rm
bsg.h
2509
0644
edit
dl
rm
bt-bmc.h
587
0644
edit
dl
rm
btf.h
4811
0644
edit
dl
rm
btrfs.h
30904
0644
edit
dl
rm
btrfs_tree.h
27392
0644
edit
dl
rm
can.h
9268
0644
edit
dl
rm
capability.h
13547
0644
edit
dl
rm
capi.h
3157
0644
edit
dl
rm
cciss_defs.h
3281
0644
edit
dl
rm
cciss_ioctl.h
2790
0644
edit
dl
rm
ccs.h
767
0644
edit
dl
rm
cdrom.h
28949
0644
edit
dl
rm
cec-funcs.h
53453
0644
edit
dl
rm
cec.h
41334
0644
edit
dl
rm
cfm_bridge.h
1466
0644
edit
dl
rm
cgroupstats.h
2219
0644
edit
dl
rm
chio.h
5304
0644
edit
dl
rm
close_range.h
392
0644
edit
dl
rm
cm4000_cs.h
1821
0644
edit
dl
rm
cn_proc.h
3471
0644
edit
dl
rm
coda.h
18393
0644
edit
dl
rm
coff.h
12564
0644
edit
dl
rm
connector.h
2268
0644
edit
dl
rm
const.h
1006
0644
edit
dl
rm
coresight-stm.h
747
0644
edit
dl
rm
cramfs_fs.h
3570
0644
edit
dl
rm
cryptouser.h
5336
0644
edit
dl
rm
cuda.h
920
0644
edit
dl
rm
cxl_mem.h
6489
0644
edit
dl
rm
cyclades.h
984
0644
edit
dl
rm
cycx_cfm.h
2990
0644
edit
dl
rm
dcbnl.h
25292
0644
edit
dl
rm
dccp.h
6447
0644
edit
dl
rm
devlink.h
20207
0644
edit
dl
rm
dlm.h
2568
0644
edit
dl
rm
dlmconstants.h
5080
0644
edit
dl
rm
dlm_device.h
2599
0644
edit
dl
rm
dlm_netlink.h
1159
0644
edit
dl
rm
dlm_plock.h
909
0644
edit
dl
rm
dm-ioctl.h
11602
0644
edit
dl
rm
dm-log-userspace.h
15191
0644
edit
dl
rm
dma-buf.h
3779
0644
edit
dl
rm
dma-heap.h
1409
0644
edit
dl
rm
dns_resolver.h
3904
0644
edit
dl
rm
dqblk_xfs.h
9388
0644
edit
dl
rm
edd.h
5619
0644
edit
dl
rm
efs_fs_sb.h
2227
0644
edit
dl
rm
elf-em.h
2586
0644
edit
dl
rm
elf-fdpic.h
1139
0644
edit
dl
rm
elf.h
14180
0644
edit
dl
rm
errno.h
23
0644
edit
dl
rm
errqueue.h
2066
0644
edit
dl
rm
erspan.h
1074
0644
edit
dl
rm
ethtool.h
82554
0644
edit
dl
rm
ethtool_netlink.h
23088
0644
edit
dl
rm
eventpoll.h
3056
0644
edit
dl
rm
f2fs.h
3316
0644
edit
dl
rm
fadvise.h
842
0644
edit
dl
rm
falloc.h
3599
0644
edit
dl
rm
fanotify.h
7495
0644
edit
dl
rm
fb.h
16518
0644
edit
dl
rm
fcntl.h
4266
0644
edit
dl
rm
fd.h
12166
0644
edit
dl
rm
fdreg.h
5364
0644
edit
dl
rm
fib_rules.h
2036
0644
edit
dl
rm
fiemap.h
2790
0644
edit
dl
rm
filter.h
2265
0644
edit
dl
rm
firewire-cdev.h
44240
0644
edit
dl
rm
firewire-constants.h
3231
0644
edit
dl
rm
fou.h
909
0644
edit
dl
rm
fpga-dfl.h
8743
0644
edit
dl
rm
fs.h
12411
0644
edit
dl
rm
fscrypt.h
6638
0644
edit
dl
rm
fsi.h
2270
0644
edit
dl
rm
fsl_hypervisor.h
7316
0644
edit
dl
rm
fsl_mc.h
749
0644
edit
dl
rm
fsmap.h
4385
0644
edit
dl
rm
fsverity.h
3293
0644
edit
dl
rm
fuse.h
23048
0644
edit
dl
rm
futex.h
5145
0644
edit
dl
rm
gameport.h
912
0644
edit
dl
rm
genetlink.h
2190
0644
edit
dl
rm
gen_stats.h
1526
0644
edit
dl
rm
gfs2_ondisk.h
14769
0644
edit
dl
rm
gpio.h
19783
0644
edit
dl
rm
gsmmux.h
1144
0644
edit
dl
rm
gtp.h
731
0644
edit
dl
rm
hash_info.h
986
0644
edit
dl
rm
hdlc.h
652
0644
edit
dl
rm
hdlcdrv.h
2923
0644
edit
dl
rm
hdreg.h
22945
0644
edit
dl
rm
hid.h
1916
0644
edit
dl
rm
hiddev.h
6360
0644
edit
dl
rm
hidraw.h
2008
0644
edit
dl
rm
hpet.h
785
0644
edit
dl
rm
hsr_netlink.h
1101
0644
edit
dl
rm
hw_breakpoint.h
757
0644
edit
dl
rm
hyperv.h
10583
0644
edit
dl
rm
i2c-dev.h
1931
0644
edit
dl
rm
i2c.h
6905
0644
edit
dl
rm
i2o-dev.h
11646
0644
edit
dl
rm
i8k.h
1528
0644
edit
dl
rm
icmp.h
4800
0644
edit
dl
rm
icmpv6.h
4284
0644
edit
dl
rm
idxd.h
7624
0644
edit
dl
rm
if.h
11015
0644
edit
dl
rm
ife.h
351
0644
edit
dl
rm
if_addr.h
1912
0644
edit
dl
rm
if_addrlabel.h
721
0644
edit
dl
rm
if_alg.h
1566
0644
edit
dl
rm
if_arcnet.h
3717
0644
edit
dl
rm
if_arp.h
6604
0644
edit
dl
rm
if_bonding.h
5145
0644
edit
dl
rm
if_bridge.h
19121
0644
edit
dl
rm
if_cablemodem.h
986
0644
edit
dl
rm
if_eql.h
1364
0644
edit
dl
rm
if_ether.h
8457
0644
edit
dl
rm
if_fc.h
1738
0644
edit
dl
rm
if_fddi.h
4384
0644
edit
dl
rm
if_hippi.h
4235
0644
edit
dl
rm
if_infiniband.h
1245
0644
edit
dl
rm
if_link.h
31760
0644
edit
dl
rm
if_ltalk.h
225
0644
edit
dl
rm
if_macsec.h
6490
0644
edit
dl
rm
if_packet.h
8147
0644
edit
dl
rm
if_phonet.h
439
0644
edit
dl
rm
if_plip.h
660
0644
edit
dl
rm
if_ppp.h
29
0644
edit
dl
rm
if_pppol2tp.h
3318
0644
edit
dl
rm
if_pppox.h
4804
0644
edit
dl
rm
if_slip.h
872
0644
edit
dl
rm
if_team.h
2615
0644
edit
dl
rm
if_tun.h
4113
0644
edit
dl
rm
if_tunnel.h
4858
0644
edit
dl
rm
if_vlan.h
1846
0644
edit
dl
rm
if_x25.h
881
0644
edit
dl
rm
if_xdp.h
3011
0644
edit
dl
rm
igmp.h
3079
0644
edit
dl
rm
ila.h
1261
0644
edit
dl
rm
in.h
10897
0644
edit
dl
rm
in6.h
7593
0644
edit
dl
rm
inet_diag.h
5032
0644
edit
dl
rm
inotify.h
3307
0644
edit
dl
rm
input-event-codes.h
28894
0644
edit
dl
rm
input.h
16030
0644
edit
dl
rm
in_route.h
936
0644
edit
dl
rm
ioam6.h
2399
0644
edit
dl
rm
ioam6_genl.h
960
0644
edit
dl
rm
ioam6_iptunnel.h
451
0644
edit
dl
rm
ioctl.h
163
0644
edit
dl
rm
iommu.h
12031
0644
edit
dl
rm
ioprio.h
1471
0644
edit
dl
rm
io_uring.h
9795
0644
edit
dl
rm
ip.h
4828
0644
edit
dl
rm
ip6_tunnel.h
1953
0644
edit
dl
rm
ipc.h
2123
0644
edit
dl
rm
ipmi.h
15112
0644
edit
dl
rm
ipmi_bmc.h
503
0644
edit
dl
rm
ipmi_msgdefs.h
3430
0644
edit
dl
rm
ipsec.h
947
0644
edit
dl
rm
ipu-isys.h
481
0644
edit
dl
rm
ipu-psys.h
3663
0644
edit
dl
rm
ipv6.h
4341
0644
edit
dl
rm
ipv6_route.h
1923
0644
edit
dl
rm
ip_vs.h
14135
0644
edit
dl
rm
irqnr.h
104
0644
edit
dl
rm
iso_fs.h
6485
0644
edit
dl
rm
isst_if.h
5404
0644
edit
dl
rm
ivtv.h
3063
0644
edit
dl
rm
ivtvfb.h
1241
0644
edit
dl
rm
jffs2.h
6815
0644
edit
dl
rm
joystick.h
3449
0644
edit
dl
rm
kcm.h
822
0644
edit
dl
rm
kcmp.h
537
0644
edit
dl
rm
kcov.h
1959
0644
edit
dl
rm
kd.h
6311
0644
edit
dl
rm
kdev_t.h
441
0644
edit
dl
rm
kernel-page-flags.h
915
0644
edit
dl
rm
kernel.h
209
0644
edit
dl
rm
kernelcapi.h
1034
0644
edit
dl
rm
kexec.h
1970
0644
edit
dl
rm
keyboard.h
13474
0644
edit
dl
rm
keyctl.h
6010
0644
edit
dl
rm
kfd_ioctl.h
24151
0644
edit
dl
rm
kvm.h
60796
0644
edit
dl
rm
kvm_para.h
1016
0644
edit
dl
rm
l2tp.h
5788
0644
edit
dl
rm
landlock.h
4915
0644
edit
dl
rm
libc-compat.h
8304
0644
edit
dl
rm
limits.h
947
0644
edit
dl
rm
lirc.h
8144
0644
edit
dl
rm
llc.h
3179
0644
edit
dl
rm
loop.h
3512
0644
edit
dl
rm
lp.h
4205
0644
edit
dl
rm
lwtunnel.h
2238
0644
edit
dl
rm
magic.h
3801
0644
edit
dl
rm
major.h
4657
0644
edit
dl
rm
map_to_7segment.h
6608
0644
edit
dl
rm
matroxfb.h
1464
0644
edit
dl
rm
max2175.h
1035
0644
edit
dl
rm
mctp.h
736
0644
edit
dl
rm
mdio.h
17283
0644
edit
dl
rm
media-bus-format.h
6909
0644
edit
dl
rm
media.h
13223
0644
edit
dl
rm
mei.h
3475
0644
edit
dl
rm
membarrier.h
9377
0644
edit
dl
rm
memfd.h
1339
0644
edit
dl
rm
mempolicy.h
2583
0644
edit
dl
rm
meye.h
2529
0644
edit
dl
rm
mii.h
9511
0644
edit
dl
rm
minix_fs.h
2122
0644
edit
dl
rm
mman.h
1599
0644
edit
dl
rm
mmtimer.h
2117
0644
edit
dl
rm
module.h
270
0644
edit
dl
rm
mount.h
5107
0644
edit
dl
rm
mpls.h
2317
0644
edit
dl
rm
mpls_iptunnel.h
776
0644
edit
dl
rm
mptcp.h
5750
0644
edit
dl
rm
mqueue.h
2201
0644
edit
dl
rm
mroute.h
5937
0644
edit
dl
rm
mroute6.h
4945
0644
edit
dl
rm
mrp_bridge.h
1718
0644
edit
dl
rm
msdos_fs.h
6746
0644
edit
dl
rm
msg.h
3401
0644
edit
dl
rm
mtio.h
8175
0644
edit
dl
rm
nbd-netlink.h
2423
0644
edit
dl
rm
nbd.h
3039
0644
edit
dl
rm
ncsi.h
4828
0644
edit
dl
rm
ndctl.h
6793
0644
edit
dl
rm
neighbour.h
5124
0644
edit
dl
rm
net.h
2100
0644
edit
dl
rm
netconf.h
629
0644
edit
dl
rm
netdevice.h
2268
0644
edit
dl
rm
netfilter.h
1780
0644
edit
dl
rm
netfilter_arp.h
471
0644
edit
dl
rm
netfilter_bridge.h
1209
0644
edit
dl
rm
netfilter_ipv4.h
1548
0644
edit
dl
rm
netfilter_ipv6.h
1443
0644
edit
dl
rm
netlink.h
11717
0644
edit
dl
rm
netlink_diag.h
1550
0644
edit
dl
rm
netrom.h
807
0644
edit
dl
rm
net_dropmon.h
2886
0644
edit
dl
rm
net_namespace.h
730
0644
edit
dl
rm
net_tstamp.h
5571
0644
edit
dl
rm
nexthop.h
2835
0644
edit
dl
rm
nfc.h
11236
0644
edit
dl
rm
nfs.h
4481
0644
edit
dl
rm
nfs2.h
1468
0644
edit
dl
rm
nfs3.h
2468
0644
edit
dl
rm
nfs4.h
6506
0644
edit
dl
rm
nfs4_mount.h
1953
0644
edit
dl
rm
nfsacl.h
733
0644
edit
dl
rm
nfs_fs.h
1656
0644
edit
dl
rm
nfs_idmap.h
2258
0644
edit
dl
rm
nfs_mount.h
2142
0644
edit
dl
rm
nilfs2_api.h
7565
0644
edit
dl
rm
nilfs2_ondisk.h
18053
0644
edit
dl
rm
nitro_enclaves.h
13167
0644
edit
dl
rm
nl80211-vnd-intel.h
2937
0644
edit
dl
rm
nl80211.h
314008
0644
edit
dl
rm
nsfs.h
639
0644
edit
dl
rm
nubus.h
8206
0644
edit
dl
rm
nvme_ioctl.h
1676
0644
edit
dl
rm
nvram.h
547
0644
edit
dl
rm
omap3isp.h
21423
0644
edit
dl
rm
omapfb.h
5940
0644
edit
dl
rm
oom.h
526
0644
edit
dl
rm
openat2.h
1465
0644
edit
dl
rm
openvswitch.h
40695
0644
edit
dl
rm
packet_diag.h
1672
0644
edit
dl
rm
param.h
141
0644
edit
dl
rm
parport.h
3659
0644
edit
dl
rm
patchkey.h
965
0644
edit
dl
rm
pci.h
1395
0644
edit
dl
rm
pcitest.h
878
0644
edit
dl
rm
pci_regs.h
58656
0644
edit
dl
rm
perf_event.h
39781
0644
edit
dl
rm
personality.h
2112
0644
edit
dl
rm
pfkeyv2.h
10569
0644
edit
dl
rm
pg.h
2409
0644
edit
dl
rm
phantom.h
1654
0644
edit
dl
rm
phonet.h
4640
0644
edit
dl
rm
pidfd.h
271
0644
edit
dl
rm
pktcdvd.h
2702
0644
edit
dl
rm
pkt_cls.h
18171
0644
edit
dl
rm
pkt_sched.h
30106
0644
edit
dl
rm
pmu.h
5459
0644
edit
dl
rm
poll.h
22
0644
edit
dl
rm
posix_acl.h
1254
0644
edit
dl
rm
posix_acl_xattr.h
1115
0644
edit
dl
rm
posix_types.h
1098
0644
edit
dl
rm
ppdev.h
3300
0644
edit
dl
rm
ppp-comp.h
2542
0644
edit
dl
rm
ppp-ioctl.h
5763
0644
edit
dl
rm
ppp_defs.h
5572
0644
edit
dl
rm
pps.h
4734
0644
edit
dl
rm
pr.h
1088
0644
edit
dl
rm
prctl.h
9395
0644
edit
dl
rm
psample.h
2271
0644
edit
dl
rm
psci.h
4343
0644
edit
dl
rm
psp-sev.h
4053
0644
edit
dl
rm
ptp_clock.h
7456
0644
edit
dl
rm
ptrace.h
4426
0644
edit
dl
rm
qemu_fw_cfg.h
2469
0644
edit
dl
rm
qnx4_fs.h
2328
0644
edit
dl
rm
qnxtypes.h
624
0644
edit
dl
rm
qrtr.h
878
0644
edit
dl
rm
quota.h
6306
0644
edit
dl
rm
radeonfb.h
360
0644
edit
dl
rm
random.h
1430
0644
edit
dl
rm
rds.h
11168
0644
edit
dl
rm
reboot.h
1358
0644
edit
dl
rm
reiserfs_fs.h
775
0644
edit
dl
rm
reiserfs_xattr.h
533
0644
edit
dl
rm
remoteproc_cdev.h
1112
0644
edit
dl
rm
resource.h
2388
0644
edit
dl
rm
rfkill.h
6118
0644
edit
dl
rm
rio_cm_cdev.h
3248
0644
edit
dl
rm
rio_mport_cdev.h
9330
0644
edit
dl
rm
rkisp1-config.h
31377
0644
edit
dl
rm
romfs_fs.h
1238
0644
edit
dl
rm
rose.h
2232
0644
edit
dl
rm
route.h
2392
0644
edit
dl
rm
rpl.h
824
0644
edit
dl
rm
rpl_iptunnel.h
434
0644
edit
dl
rm
rpmsg.h
813
0644
edit
dl
rm
rpmsg_types.h
303
0644
edit
dl
rm
rseq.h
4721
0644
edit
dl
rm
rtc.h
4610
0644
edit
dl
rm
rtnetlink.h
20784
0644
edit
dl
rm
rxrpc.h
4937
0644
edit
dl
rm
scc.h
4639
0644
edit
dl
rm
sched.h
6281
0644
edit
dl
rm
scif_ioctl.h
6382
0644
edit
dl
rm
screen_info.h
2494
0644
edit
dl
rm
sctp.h
36099
0644
edit
dl
rm
seccomp.h
5774
0644
edit
dl
rm
securebits.h
2719
0644
edit
dl
rm
sed-opal.h
3777
0644
edit
dl
rm
seg6.h
1180
0644
edit
dl
rm
seg6_genl.h
599
0644
edit
dl
rm
seg6_hmac.h
433
0644
edit
dl
rm
seg6_iptunnel.h
994
0644
edit
dl
rm
seg6_local.h
3338
0644
edit
dl
rm
selinux_netlink.h
1221
0644
edit
dl
rm
sem.h
3094
0644
edit
dl
rm
serial.h
3825
0644
edit
dl
rm
serial_core.h
6129
0644
edit
dl
rm
serial_reg.h
15552
0644
edit
dl
rm
serio.h
2114
0644
edit
dl
rm
shm.h
3835
0644
edit
dl
rm
signal.h
403
0644
edit
dl
rm
signalfd.h
1248
0644
edit
dl
rm
smc.h
8019
0644
edit
dl
rm
smc_diag.h
2850
0644
edit
dl
rm
smiapp.h
1058
0644
edit
dl
rm
snmp.h
13950
0644
edit
dl
rm
socket.h
955
0644
edit
dl
rm
sockios.h
6846
0644
edit
dl
rm
sock_diag.h
1316
0644
edit
dl
rm
sonet.h
2305
0644
edit
dl
rm
sonypi.h
5324
0644
edit
dl
rm
sound.h
1252
0644
edit
dl
rm
soundcard.h
46170
0644
edit
dl
rm
stat.h
6767
0644
edit
dl
rm
stddef.h
1577
0644
edit
dl
rm
stm.h
1290
0644
edit
dl
rm
string.h
296
0644
edit
dl
rm
suspend_ioctls.h
1431
0644
edit
dl
rm
swab.h
7016
0644
edit
dl
rm
switchtec_ioctl.h
5272
0644
edit
dl
rm
synclink.h
9000
0644
edit
dl
rm
sync_file.h
2899
0644
edit
dl
rm
sysctl.h
25988
0644
edit
dl
rm
sysinfo.h
1049
0644
edit
dl
rm
target_core_user.h
4557
0644
edit
dl
rm
taskstats.h
7290
0644
edit
dl
rm
tcp.h
11949
0644
edit
dl
rm
tcp_metrics.h
1549
0644
edit
dl
rm
tee.h
13592
0644
edit
dl
rm
termios.h
172
0644
edit
dl
rm
thermal.h
3088
0644
edit
dl
rm
time.h
1793
0644
edit
dl
rm
timerfd.h
951
0644
edit
dl
rm
times.h
278
0644
edit
dl
rm
timex.h
7884
0644
edit
dl
rm
time_types.h
1282
0644
edit
dl
rm
tiocl.h
1729
0644
edit
dl
rm
tipc.h
8805
0644
edit
dl
rm
tipc_config.h
14838
0644
edit
dl
rm
tipc_netlink.h
9395
0644
edit
dl
rm
tipc_sockets_diag.h
483
0644
edit
dl
rm
tls.h
4918
0644
edit
dl
rm
toshiba.h
1945
0644
edit
dl
rm
tty.h
1600
0644
edit
dl
rm
tty_flags.h
4553
0644
edit
dl
rm
types.h
1738
0644
edit
dl
rm
udf_fs_i.h
697
0644
edit
dl
rm
udmabuf.h
658
0644
edit
dl
rm
udp.h
1703
0644
edit
dl
rm
uhid.h
4655
0644
edit
dl
rm
uinput.h
9276
0644
edit
dl
rm
uio.h
781
0644
edit
dl
rm
uleds.h
813
0644
edit
dl
rm
ultrasound.h
4562
0644
edit
dl
rm
um_timetravel.h
3976
0644
edit
dl
rm
un.h
384
0644
edit
dl
rm
unistd.h
220
0644
edit
dl
rm
unix_diag.h
1328
0644
edit
dl
rm
usbdevice_fs.h
8374
0644
edit
dl
rm
usbip.h
655
0644
edit
dl
rm
userfaultfd.h
9089
0644
edit
dl
rm
userio.h
1516
0644
edit
dl
rm
utime.h
223
0644
edit
dl
rm
utsname.h
684
0644
edit
dl
rm
uuid.h
1371
0644
edit
dl
rm
uvcvideo.h
2581
0644
edit
dl
rm
v4l2-common.h
4203
0644
edit
dl
rm
v4l2-controls.h
86453
0644
edit
dl
rm
v4l2-dv-timings.h
31562
0644
edit
dl
rm
v4l2-mediabus.h
5461
0644
edit
dl
rm
v4l2-subdev.h
7782
0644
edit
dl
rm
vboxguest.h
9368
0644
edit
dl
rm
vbox_err.h
7257
0644
edit
dl
rm
vbox_vmmdev_types.h
11591
0644
edit
dl
rm
vdpa.h
1183
0644
edit
dl
rm
vduse.h
8306
0644
edit
dl
rm
veth.h
224
0644
edit
dl
rm
vfio.h
53809
0644
edit
dl
rm
vfio_ccw.h
1257
0644
edit
dl
rm
vfio_zdev.h
2542
0644
edit
dl
rm
vhost.h
6418
0644
edit
dl
rm
vhost_types.h
4024
0644
edit
dl
rm
videodev2.h
96187
0644
edit
dl
rm
virtio_9p.h
2053
0644
edit
dl
rm
virtio_balloon.h
5279
0644
edit
dl
rm
virtio_blk.h
6888
0644
edit
dl
rm
virtio_bt.h
787
0644
edit
dl
rm
virtio_config.h
4063
0644
edit
dl
rm
virtio_console.h
3171
0644
edit
dl
rm
virtio_crypto.h
13887
0644
edit
dl
rm
virtio_fs.h
588
0644
edit
dl
rm
virtio_gpio.h
1039
0644
edit
dl
rm
virtio_gpu.h
11053
0644
edit
dl
rm
virtio_i2c.h
1004
0644
edit
dl
rm
virtio_ids.h
4303
0644
edit
dl
rm
virtio_input.h
2515
0644
edit
dl
rm
virtio_iommu.h
3793
0644
edit
dl
rm
virtio_mem.h
6955
0644
edit
dl
rm
virtio_mmio.h
4969
0644
edit
dl
rm
virtio_net.h
13831
0644
edit
dl
rm
virtio_pci.h
7406
0644
edit
dl
rm
virtio_pcidev.h
2462
0644
edit
dl
rm
virtio_pmem.h
651
0644
edit
dl
rm
virtio_ring.h
8606
0644
edit
dl
rm
virtio_rng.h
265
0644
edit
dl
rm
virtio_scmi.h
652
0644
edit
dl
rm
virtio_scsi.h
6085
0644
edit
dl
rm
virtio_snd.h
9304
0644
edit
dl
rm
virtio_types.h
2168
0644
edit
dl
rm
virtio_vsock.h
3363
0644
edit
dl
rm
vmcore.h
470
0644
edit
dl
rm
vm_sockets.h
6609
0644
edit
dl
rm
vm_sockets_diag.h
978
0644
edit
dl
rm
vsockmon.h
1895
0644
edit
dl
rm
vt.h
3074
0644
edit
dl
rm
vtpm_proxy.h
1734
0644
edit
dl
rm
wait.h
697
0644
edit
dl
rm
watchdog.h
2350
0644
edit
dl
rm
watch_queue.h
3505
0644
edit
dl
rm
wireguard.h
7748
0644
edit
dl
rm
wireless.h
42804
0644
edit
dl
rm
wmi.h
1718
0644
edit
dl
rm
wwan.h
310
0644
edit
dl
rm
x25.h
3562
0644
edit
dl
rm
xattr.h
3038
0644
edit
dl
rm
xdp_diag.h
1468
0644
edit
dl
rm
xfrm.h
12433
0644
edit
dl
rm
xilinx-v4l2-controls.h
2976
0644
edit
dl
rm
zorro.h
3266
0644
edit
dl
rm
zorro_ids.h
30065
0644
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-181/include/uapi/linux/rkisp1-config.h
(31377B)
/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR MIT) */ /* * Rockchip ISP1 userspace API * Copyright (C) 2017 Rockchip Electronics Co., Ltd. */ #ifndef _UAPI_RKISP1_CONFIG_H #define _UAPI_RKISP1_CONFIG_H #include <linux/types.h> /* Defect Pixel Cluster Detection */ #define RKISP1_CIF_ISP_MODULE_DPCC (1U << 0) /* Black Level Subtraction */ #define RKISP1_CIF_ISP_MODULE_BLS (1U << 1) /* Sensor De-gamma */ #define RKISP1_CIF_ISP_MODULE_SDG (1U << 2) /* Histogram statistics configuration */ #define RKISP1_CIF_ISP_MODULE_HST (1U << 3) /* Lens Shade Control */ #define RKISP1_CIF_ISP_MODULE_LSC (1U << 4) /* Auto White Balance Gain */ #define RKISP1_CIF_ISP_MODULE_AWB_GAIN (1U << 5) /* Filter */ #define RKISP1_CIF_ISP_MODULE_FLT (1U << 6) /* Bayer Demosaic */ #define RKISP1_CIF_ISP_MODULE_BDM (1U << 7) /* Cross Talk */ #define RKISP1_CIF_ISP_MODULE_CTK (1U << 8) /* Gamma Out Curve */ #define RKISP1_CIF_ISP_MODULE_GOC (1U << 9) /* Color Processing */ #define RKISP1_CIF_ISP_MODULE_CPROC (1U << 10) /* Auto Focus Control statistics configuration */ #define RKISP1_CIF_ISP_MODULE_AFC (1U << 11) /* Auto White Balancing statistics configuration */ #define RKISP1_CIF_ISP_MODULE_AWB (1U << 12) /* Image Effect */ #define RKISP1_CIF_ISP_MODULE_IE (1U << 13) /* Auto Exposure Control statistics configuration */ #define RKISP1_CIF_ISP_MODULE_AEC (1U << 14) /* Wide Dynamic Range */ #define RKISP1_CIF_ISP_MODULE_WDR (1U << 15) /* Denoise Pre-Filter */ #define RKISP1_CIF_ISP_MODULE_DPF (1U << 16) /* Denoise Pre-Filter Strength */ #define RKISP1_CIF_ISP_MODULE_DPF_STRENGTH (1U << 17) #define RKISP1_CIF_ISP_CTK_COEFF_MAX 0x100 #define RKISP1_CIF_ISP_CTK_OFFSET_MAX 0x800 #define RKISP1_CIF_ISP_AE_MEAN_MAX_V10 25 #define RKISP1_CIF_ISP_AE_MEAN_MAX_V12 81 #define RKISP1_CIF_ISP_AE_MEAN_MAX RKISP1_CIF_ISP_AE_MEAN_MAX_V12 #define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 16 #define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 32 #define RKISP1_CIF_ISP_HIST_BIN_N_MAX RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 #define RKISP1_CIF_ISP_AFM_MAX_WINDOWS 3 #define RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE 17 #define RKISP1_CIF_ISP_BDM_MAX_TH 0xff /* * Black level compensation */ /* maximum value for horizontal start address */ #define RKISP1_CIF_ISP_BLS_START_H_MAX 0x00000fff /* maximum value for horizontal stop address */ #define RKISP1_CIF_ISP_BLS_STOP_H_MAX 0x00000fff /* maximum value for vertical start address */ #define RKISP1_CIF_ISP_BLS_START_V_MAX 0x00000fff /* maximum value for vertical stop address */ #define RKISP1_CIF_ISP_BLS_STOP_V_MAX 0x00000fff /* maximum is 2^18 = 262144*/ #define RKISP1_CIF_ISP_BLS_SAMPLES_MAX 0x00000012 /* maximum value for fixed black level */ #define RKISP1_CIF_ISP_BLS_FIX_SUB_MAX 0x00000fff /* minimum value for fixed black level */ #define RKISP1_CIF_ISP_BLS_FIX_SUB_MIN 0xfffff000 /* 13 bit range (signed)*/ #define RKISP1_CIF_ISP_BLS_FIX_MASK 0x00001fff /* * Automatic white balance measurements */ #define RKISP1_CIF_ISP_AWB_MAX_GRID 1 #define RKISP1_CIF_ISP_AWB_MAX_FRAMES 7 /* * Gamma out */ /* Maximum number of color samples supported */ #define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 17 #define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 34 #define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 /* * Lens shade correction */ #define RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE 8 /* * The following matches the tuning process, * not the max capabilities of the chip. */ #define RKISP1_CIF_ISP_LSC_SAMPLES_MAX 17 /* * Histogram calculation */ #define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 25 #define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 81 #define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 /* * Defect Pixel Cluster Correction */ #define RKISP1_CIF_ISP_DPCC_METHODS_MAX 3 /* * Denoising pre filter */ #define RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS 17 #define RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS 6 /* * Measurement types */ #define RKISP1_CIF_ISP_STAT_AWB (1U << 0) #define RKISP1_CIF_ISP_STAT_AUTOEXP (1U << 1) #define RKISP1_CIF_ISP_STAT_AFM (1U << 2) #define RKISP1_CIF_ISP_STAT_HIST (1U << 3) /** * enum rkisp1_cif_isp_version - ISP variants * * @RKISP1_V10: used at least in rk3288 and rk3399 * @RKISP1_V11: declared in the original vendor code, but not used * @RKISP1_V12: used at least in rk3326 and px30 * @RKISP1_V13: used at least in rk1808 */ enum rkisp1_cif_isp_version { RKISP1_V10 = 10, RKISP1_V11, RKISP1_V12, RKISP1_V13, }; enum rkisp1_cif_isp_histogram_mode { RKISP1_CIF_ISP_HISTOGRAM_MODE_DISABLE, RKISP1_CIF_ISP_HISTOGRAM_MODE_RGB_COMBINED, RKISP1_CIF_ISP_HISTOGRAM_MODE_R_HISTOGRAM, RKISP1_CIF_ISP_HISTOGRAM_MODE_G_HISTOGRAM, RKISP1_CIF_ISP_HISTOGRAM_MODE_B_HISTOGRAM, RKISP1_CIF_ISP_HISTOGRAM_MODE_Y_HISTOGRAM }; enum rkisp1_cif_isp_awb_mode_type { RKISP1_CIF_ISP_AWB_MODE_MANUAL, RKISP1_CIF_ISP_AWB_MODE_RGB, RKISP1_CIF_ISP_AWB_MODE_YCBCR }; enum rkisp1_cif_isp_flt_mode { RKISP1_CIF_ISP_FLT_STATIC_MODE, RKISP1_CIF_ISP_FLT_DYNAMIC_MODE }; /** * enum rkisp1_cif_isp_exp_ctrl_autostop - stop modes * @RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_0: continuous measurement * @RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_1: stop measuring after a complete frame */ enum rkisp1_cif_isp_exp_ctrl_autostop { RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_0 = 0, RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_1 = 1, }; /** * enum rkisp1_cif_isp_exp_meas_mode - Exposure measure mode * @RKISP1_CIF_ISP_EXP_MEASURING_MODE_0: Y = 16 + 0.25R + 0.5G + 0.1094B * @RKISP1_CIF_ISP_EXP_MEASURING_MODE_1: Y = (R + G + B) x (85/256) */ enum rkisp1_cif_isp_exp_meas_mode { RKISP1_CIF_ISP_EXP_MEASURING_MODE_0, RKISP1_CIF_ISP_EXP_MEASURING_MODE_1, }; /*---------- PART1: Input Parameters ------------*/ /** * struct rkisp1_cif_isp_window - measurement window. * * Measurements are calculated per window inside the frame. * This struct represents a window for a measurement. * * @h_offs: the horizontal offset of the window from the left of the frame in pixels. * @v_offs: the vertical offset of the window from the top of the frame in pixels. * @h_size: the horizontal size of the window in pixels * @v_size: the vertical size of the window in pixels. */ struct rkisp1_cif_isp_window { __u16 h_offs; __u16 v_offs; __u16 h_size; __u16 v_size; }; /** * struct rkisp1_cif_isp_bls_fixed_val - BLS fixed subtraction values * * The values will be subtracted from the sensor * values. Therefore a negative value means addition instead of subtraction! * * @r: Fixed (signed!) subtraction value for Bayer pattern R * @gr: Fixed (signed!) subtraction value for Bayer pattern Gr * @gb: Fixed (signed!) subtraction value for Bayer pattern Gb * @b: Fixed (signed!) subtraction value for Bayer pattern B */ struct rkisp1_cif_isp_bls_fixed_val { __s16 r; __s16 gr; __s16 gb; __s16 b; }; /** * struct rkisp1_cif_isp_bls_config - Configuration used by black level subtraction * * @enable_auto: Automatic mode activated means that the measured values * are subtracted. Otherwise the fixed subtraction * values will be subtracted. * @en_windows: enabled window * @bls_window1: Measurement window 1 size * @bls_window2: Measurement window 2 size * @bls_samples: Set amount of measured pixels for each Bayer position * (A, B,C and D) to 2^bls_samples. * @fixed_val: Fixed subtraction values */ struct rkisp1_cif_isp_bls_config { __u8 enable_auto; __u8 en_windows; struct rkisp1_cif_isp_window bls_window1; struct rkisp1_cif_isp_window bls_window2; __u8 bls_samples; struct rkisp1_cif_isp_bls_fixed_val fixed_val; }; /** * struct rkisp1_cif_isp_dpcc_methods_config - Methods Configuration used by DPCC * * Methods Configuration used by Defect Pixel Cluster Correction * * @method: Method enable bits * @line_thresh: Line threshold * @line_mad_fac: Line MAD factor * @pg_fac: Peak gradient factor * @rnd_thresh: Rank Neighbor Difference threshold * @rg_fac: Rank gradient factor */ struct rkisp1_cif_isp_dpcc_methods_config { __u32 method; __u32 line_thresh; __u32 line_mad_fac; __u32 pg_fac; __u32 rnd_thresh; __u32 rg_fac; }; /** * struct rkisp1_cif_isp_dpcc_config - Configuration used by DPCC * * Configuration used by Defect Pixel Cluster Correction * * @mode: dpcc output mode * @output_mode: whether use hard coded methods * @set_use: stage1 methods set * @methods: methods config * @ro_limits: rank order limits * @rnd_offs: differential rank offsets for rank neighbor difference */ struct rkisp1_cif_isp_dpcc_config { __u32 mode; __u32 output_mode; __u32 set_use; struct rkisp1_cif_isp_dpcc_methods_config methods[RKISP1_CIF_ISP_DPCC_METHODS_MAX]; __u32 ro_limits; __u32 rnd_offs; }; /** * struct rkisp1_cif_isp_gamma_corr_curve - gamma curve point definition y-axis (output). * * The reset values define a linear curve which has the same effect as bypass. Reset values are: * gamma_y[0] = 0x0000, gamma_y[1] = 0x0100, ... gamma_y[15] = 0x0f00, gamma_y[16] = 0xfff * * @gamma_y: the values for the y-axis of gamma curve points. Each value is 12 bit. */ struct rkisp1_cif_isp_gamma_corr_curve { __u16 gamma_y[RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE]; }; /** * struct rkisp1_cif_isp_gamma_curve_x_axis_pnts - De-Gamma Curve definition x increments * (sampling points). gamma_dx0 is for the lower samples (1-8), gamma_dx1 is for the * higher samples (9-16). The reset values for both fields is 0x44444444. This means * that each sample is 4 units away from the previous one on the x-axis. * * @gamma_dx0: gamma curve sample points definitions. Bits 0:2 for sample 1. Bit 3 unused. * Bits 4:6 for sample 2. bit 7 unused ... Bits 28:30 for sample 8. Bit 31 unused * @gamma_dx1: gamma curve sample points definitions. Bits 0:2 for sample 9. Bit 3 unused. * Bits 4:6 for sample 10. bit 7 unused ... Bits 28:30 for sample 16. Bit 31 unused */ struct rkisp1_cif_isp_gamma_curve_x_axis_pnts { __u32 gamma_dx0; __u32 gamma_dx1; }; /** * struct rkisp1_cif_isp_sdg_config - Configuration used by sensor degamma * * @curve_r: gamma curve point definition axis for red * @curve_g: gamma curve point definition axis for green * @curve_b: gamma curve point definition axis for blue * @xa_pnts: x axis increments */ struct rkisp1_cif_isp_sdg_config { struct rkisp1_cif_isp_gamma_corr_curve curve_r; struct rkisp1_cif_isp_gamma_corr_curve curve_g; struct rkisp1_cif_isp_gamma_corr_curve curve_b; struct rkisp1_cif_isp_gamma_curve_x_axis_pnts xa_pnts; }; /** * struct rkisp1_cif_isp_lsc_config - Configuration used by Lens shading correction * * @r_data_tbl: sample table red * @gr_data_tbl: sample table green (red) * @gb_data_tbl: sample table green (blue) * @b_data_tbl: sample table blue * @x_grad_tbl: gradient table x * @y_grad_tbl: gradient table y * @x_size_tbl: size table x * @y_size_tbl: size table y * @config_width: not used at the moment * @config_height: not used at the moment */ struct rkisp1_cif_isp_lsc_config { __u16 r_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; __u16 gr_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; __u16 gb_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; __u16 b_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX]; __u16 x_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; __u16 y_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; __u16 x_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; __u16 y_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE]; __u16 config_width; __u16 config_height; }; /** * struct rkisp1_cif_isp_ie_config - Configuration used by image effects * * @effect: values from 'enum v4l2_colorfx'. Possible values are: V4L2_COLORFX_SEPIA, * V4L2_COLORFX_SET_CBCR, V4L2_COLORFX_AQUA, V4L2_COLORFX_EMBOSS, * V4L2_COLORFX_SKETCH, V4L2_COLORFX_BW, V4L2_COLORFX_NEGATIVE * @color_sel: bits 0:2 - colors bitmask (001 - blue, 010 - green, 100 - red). * bits 8:15 - Threshold value of the RGB colors for the color selection effect. * @eff_mat_1: 3x3 Matrix Coefficients for Emboss Effect 1 * @eff_mat_2: 3x3 Matrix Coefficients for Emboss Effect 2 * @eff_mat_3: 3x3 Matrix Coefficients for Emboss 3/Sketch 1 * @eff_mat_4: 3x3 Matrix Coefficients for Sketch Effect 2 * @eff_mat_5: 3x3 Matrix Coefficients for Sketch Effect 3 * @eff_tint: Chrominance increment values of tint (used for sepia effect) */ struct rkisp1_cif_isp_ie_config { __u16 effect; __u16 color_sel; __u16 eff_mat_1; __u16 eff_mat_2; __u16 eff_mat_3; __u16 eff_mat_4; __u16 eff_mat_5; __u16 eff_tint; }; /** * struct rkisp1_cif_isp_cproc_config - Configuration used by Color Processing * * @c_out_range: Chrominance pixel clipping range at output. * (0 for limit, 1 for full) * @y_in_range: Luminance pixel clipping range at output. * @y_out_range: Luminance pixel clipping range at output. * @contrast: 00~ff, 0.0~1.992 * @brightness: 80~7F, -128~+127 * @sat: saturation, 00~FF, 0.0~1.992 * @hue: 80~7F, -90~+87.188 */ struct rkisp1_cif_isp_cproc_config { __u8 c_out_range; __u8 y_in_range; __u8 y_out_range; __u8 contrast; __u8 brightness; __u8 sat; __u8 hue; }; /** * struct rkisp1_cif_isp_awb_meas_config - Configuration for the AWB statistics * * @awb_mode: the awb meas mode. From enum rkisp1_cif_isp_awb_mode_type. * @awb_wnd: white balance measurement window (in pixels) * @max_y: only pixels values < max_y contribute to awb measurement, set to 0 * to disable this feature * @min_y: only pixels values > min_y contribute to awb measurement * @max_csum: Chrominance sum maximum value, only consider pixels with Cb+Cr, * smaller than threshold for awb measurements * @min_c: Chrominance minimum value, only consider pixels with Cb/Cr * each greater than threshold value for awb measurements * @frames: number of frames - 1 used for mean value calculation * (ucFrames=0 means 1 Frame) * @awb_ref_cr: reference Cr value for AWB regulation, target for AWB * @awb_ref_cb: reference Cb value for AWB regulation, target for AWB * @enable_ymax_cmp: enable Y_MAX compare (Not valid in RGB measurement mode.) */ struct rkisp1_cif_isp_awb_meas_config { /* * Note: currently the h and v offsets are mapped to grid offsets */ struct rkisp1_cif_isp_window awb_wnd; __u32 awb_mode; __u8 max_y; __u8 min_y; __u8 max_csum; __u8 min_c; __u8 frames; __u8 awb_ref_cr; __u8 awb_ref_cb; __u8 enable_ymax_cmp; }; /** * struct rkisp1_cif_isp_awb_gain_config - Configuration used by auto white balance gain * * All fields in this struct are 10 bit, where: * 0x100h = 1, unsigned integer value, range 0 to 4 with 8 bit fractional part. * * out_data_x = ( AWB_GAIN_X * in_data + 128) >> 8 * * @gain_red: gain value for red component. * @gain_green_r: gain value for green component in red line. * @gain_blue: gain value for blue component. * @gain_green_b: gain value for green component in blue line. */ struct rkisp1_cif_isp_awb_gain_config { __u16 gain_red; __u16 gain_green_r; __u16 gain_blue; __u16 gain_green_b; }; /** * struct rkisp1_cif_isp_flt_config - Configuration used by ISP filtering * * All 4 threshold fields (thresh_*) are 10 bits. * All 6 factor fields (fac_*) are 6 bits. * * @mode: ISP_FILT_MODE register fields (from enum rkisp1_cif_isp_flt_mode) * @grn_stage1: Green filter stage 1 select (range 0x0...0x8) * @chr_h_mode: Chroma filter horizontal mode * @chr_v_mode: Chroma filter vertical mode * @thresh_bl0: If thresh_bl1 < sum_grad < thresh_bl0 then fac_bl0 is selected (blurring th) * @thresh_bl1: If sum_grad < thresh_bl1 then fac_bl1 is selected (blurring th) * @thresh_sh0: If thresh_sh0 < sum_grad < thresh_sh1 then thresh_sh0 is selected (sharpening th) * @thresh_sh1: If thresh_sh1 < sum_grad then thresh_sh1 is selected (sharpening th) * @lum_weight: Parameters for luminance weight function. * @fac_sh1: filter factor for sharp1 level * @fac_sh0: filter factor for sharp0 level * @fac_mid: filter factor for mid level and for static filter mode * @fac_bl0: filter factor for blur 0 level * @fac_bl1: filter factor for blur 1 level (max blur) */ struct rkisp1_cif_isp_flt_config { __u32 mode; __u8 grn_stage1; __u8 chr_h_mode; __u8 chr_v_mode; __u32 thresh_bl0; __u32 thresh_bl1; __u32 thresh_sh0; __u32 thresh_sh1; __u32 lum_weight; __u32 fac_sh1; __u32 fac_sh0; __u32 fac_mid; __u32 fac_bl0; __u32 fac_bl1; }; /** * struct rkisp1_cif_isp_bdm_config - Configuration used by Bayer DeMosaic * * @demosaic_th: threshold for bayer demosaicing texture detection */ struct rkisp1_cif_isp_bdm_config { __u8 demosaic_th; }; /** * struct rkisp1_cif_isp_ctk_config - Configuration used by Cross Talk correction * * @coeff: color correction matrix. Values are 11-bit signed fixed-point numbers with 4 bit integer * and 7 bit fractional part, ranging from -8 (0x400) to +7.992 (0x3FF). 0 is * represented by 0x000 and a coefficient value of 1 as 0x080. * @ct_offset: Red, Green, Blue offsets for the crosstalk correction matrix */ struct rkisp1_cif_isp_ctk_config { __u16 coeff[3][3]; __u16 ct_offset[3]; }; enum rkisp1_cif_isp_goc_mode { RKISP1_CIF_ISP_GOC_MODE_LOGARITHMIC, RKISP1_CIF_ISP_GOC_MODE_EQUIDISTANT }; /** * struct rkisp1_cif_isp_goc_config - Configuration used by Gamma Out correction * * @mode: goc mode (from enum rkisp1_cif_isp_goc_mode) * @gamma_y: gamma out curve y-axis for all color components * * The number of entries of @gamma_y depends on the hardware revision * as is reported by the hw_revision field of the struct media_device_info * that is returned by ioctl MEDIA_IOC_DEVICE_INFO. * * Versions <= V11 have RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 * entries, versions >= V12 have RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 * entries. RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES is equal to the maximum * of the two. */ struct rkisp1_cif_isp_goc_config { __u32 mode; __u16 gamma_y[RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES]; }; /** * struct rkisp1_cif_isp_hst_config - Configuration for Histogram statistics * * @mode: histogram mode (from enum rkisp1_cif_isp_histogram_mode) * @histogram_predivider: process every stepsize pixel, all other pixels are * skipped * @meas_window: coordinates of the measure window * @hist_weight: weighting factor for sub-windows * * The number of entries of @hist_weight depends on the hardware revision * as is reported by the hw_revision field of the struct media_device_info * that is returned by ioctl MEDIA_IOC_DEVICE_INFO. * * Versions <= V11 have RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 * entries, versions >= V12 have RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 * entries. RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE is equal to the maximum * of the two. */ struct rkisp1_cif_isp_hst_config { __u32 mode; __u8 histogram_predivider; struct rkisp1_cif_isp_window meas_window; __u8 hist_weight[RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE]; }; /** * struct rkisp1_cif_isp_aec_config - Configuration for Auto Exposure statistics * * @mode: Exposure measure mode (from enum rkisp1_cif_isp_exp_meas_mode) * @autostop: stop mode (from enum rkisp1_cif_isp_exp_ctrl_autostop) * @meas_window: coordinates of the measure window */ struct rkisp1_cif_isp_aec_config { __u32 mode; __u32 autostop; struct rkisp1_cif_isp_window meas_window; }; /** * struct rkisp1_cif_isp_afc_config - Configuration for the Auto Focus statistics * * @num_afm_win: max RKISP1_CIF_ISP_AFM_MAX_WINDOWS * @afm_win: coordinates of the meas window * @thres: threshold used for minimizing the influence of noise * @var_shift: the number of bits for the shift operation at the end of the * calculation chain. */ struct rkisp1_cif_isp_afc_config { __u8 num_afm_win; struct rkisp1_cif_isp_window afm_win[RKISP1_CIF_ISP_AFM_MAX_WINDOWS]; __u32 thres; __u32 var_shift; }; /** * enum rkisp1_cif_isp_dpf_gain_usage - dpf gain usage * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_DISABLED: don't use any gains in preprocessing stage * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_GAINS: use only the noise function gains from * registers DPF_NF_GAIN_R, ... * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_LSC_GAINS: use only the gains from LSC module * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_LSC_GAINS: use the noise function gains and the * gains from LSC module * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_GAINS: use only the gains from AWB module * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_LSC_GAINS: use the gains from AWB and LSC module * @RKISP1_CIF_ISP_DPF_GAIN_USAGE_MAX: upper border (only for an internal evaluation) */ enum rkisp1_cif_isp_dpf_gain_usage { RKISP1_CIF_ISP_DPF_GAIN_USAGE_DISABLED, RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_GAINS, RKISP1_CIF_ISP_DPF_GAIN_USAGE_LSC_GAINS, RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_LSC_GAINS, RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_GAINS, RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_LSC_GAINS, RKISP1_CIF_ISP_DPF_GAIN_USAGE_MAX }; /** * enum rkisp1_cif_isp_dpf_rb_filtersize - Red and blue filter sizes * @RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_13x9: red and blue filter kernel size 13x9 * (means 7x5 active pixel) * @RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_9x9: red and blue filter kernel size 9x9 * (means 5x5 active pixel) */ enum rkisp1_cif_isp_dpf_rb_filtersize { RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_13x9, RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_9x9, }; /** * enum rkisp1_cif_isp_dpf_nll_scale_mode - dpf noise level scale mode * @RKISP1_CIF_ISP_NLL_SCALE_LINEAR: use a linear scaling * @RKISP1_CIF_ISP_NLL_SCALE_LOGARITHMIC: use a logarithmic scaling */ enum rkisp1_cif_isp_dpf_nll_scale_mode { RKISP1_CIF_ISP_NLL_SCALE_LINEAR, RKISP1_CIF_ISP_NLL_SCALE_LOGARITHMIC, }; /** * struct rkisp1_cif_isp_dpf_nll - Noise level lookup * * @coeff: Noise level Lookup coefficient * @scale_mode: dpf noise level scale mode (from enum rkisp1_cif_isp_dpf_nll_scale_mode) */ struct rkisp1_cif_isp_dpf_nll { __u16 coeff[RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS]; __u32 scale_mode; }; /** * struct rkisp1_cif_isp_dpf_rb_flt - Red blue filter config * * @fltsize: The filter size for the red and blue pixels * (from enum rkisp1_cif_isp_dpf_rb_filtersize) * @spatial_coeff: Spatial weights * @r_enable: enable filter processing for red pixels * @b_enable: enable filter processing for blue pixels */ struct rkisp1_cif_isp_dpf_rb_flt { __u32 fltsize; __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS]; __u8 r_enable; __u8 b_enable; }; /** * struct rkisp1_cif_isp_dpf_g_flt - Green filter Configuration * * @spatial_coeff: Spatial weights * @gr_enable: enable filter processing for green pixels in green/red lines * @gb_enable: enable filter processing for green pixels in green/blue lines */ struct rkisp1_cif_isp_dpf_g_flt { __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS]; __u8 gr_enable; __u8 gb_enable; }; /** * struct rkisp1_cif_isp_dpf_gain - Noise function Configuration * * @mode: dpf gain usage (from enum rkisp1_cif_isp_dpf_gain_usage) * @nf_r_gain: Noise function Gain that replaces the AWB gain for red pixels * @nf_b_gain: Noise function Gain that replaces the AWB gain for blue pixels * @nf_gr_gain: Noise function Gain that replaces the AWB gain * for green pixels in a red line * @nf_gb_gain: Noise function Gain that replaces the AWB gain * for green pixels in a blue line */ struct rkisp1_cif_isp_dpf_gain { __u32 mode; __u16 nf_r_gain; __u16 nf_b_gain; __u16 nf_gr_gain; __u16 nf_gb_gain; }; /** * struct rkisp1_cif_isp_dpf_config - Configuration used by De-noising pre-filter * * @gain: noise function gain * @g_flt: green filter config * @rb_flt: red blue filter config * @nll: noise level lookup */ struct rkisp1_cif_isp_dpf_config { struct rkisp1_cif_isp_dpf_gain gain; struct rkisp1_cif_isp_dpf_g_flt g_flt; struct rkisp1_cif_isp_dpf_rb_flt rb_flt; struct rkisp1_cif_isp_dpf_nll nll; }; /** * struct rkisp1_cif_isp_dpf_strength_config - strength of the filter * * @r: filter strength of the RED filter * @g: filter strength of the GREEN filter * @b: filter strength of the BLUE filter */ struct rkisp1_cif_isp_dpf_strength_config { __u8 r; __u8 g; __u8 b; }; /** * struct rkisp1_cif_isp_isp_other_cfg - Parameters for some blocks in rockchip isp1 * * @dpcc_config: Defect Pixel Cluster Correction config * @bls_config: Black Level Subtraction config * @sdg_config: sensor degamma config * @lsc_config: Lens Shade config * @awb_gain_config: Auto White balance gain config * @flt_config: filter config * @bdm_config: demosaic config * @ctk_config: cross talk config * @goc_config: gamma out config * @bls_config: black level subtraction config * @dpf_config: De-noising pre-filter config * @dpf_strength_config: dpf strength config * @cproc_config: color process config * @ie_config: image effects config */ struct rkisp1_cif_isp_isp_other_cfg { struct rkisp1_cif_isp_dpcc_config dpcc_config; struct rkisp1_cif_isp_bls_config bls_config; struct rkisp1_cif_isp_sdg_config sdg_config; struct rkisp1_cif_isp_lsc_config lsc_config; struct rkisp1_cif_isp_awb_gain_config awb_gain_config; struct rkisp1_cif_isp_flt_config flt_config; struct rkisp1_cif_isp_bdm_config bdm_config; struct rkisp1_cif_isp_ctk_config ctk_config; struct rkisp1_cif_isp_goc_config goc_config; struct rkisp1_cif_isp_dpf_config dpf_config; struct rkisp1_cif_isp_dpf_strength_config dpf_strength_config; struct rkisp1_cif_isp_cproc_config cproc_config; struct rkisp1_cif_isp_ie_config ie_config; }; /** * struct rkisp1_cif_isp_isp_meas_cfg - Rockchip ISP1 Measure Parameters * * @awb_meas_config: auto white balance config * @hst_config: histogram config * @aec_config: auto exposure config * @afc_config: auto focus config */ struct rkisp1_cif_isp_isp_meas_cfg { struct rkisp1_cif_isp_awb_meas_config awb_meas_config; struct rkisp1_cif_isp_hst_config hst_config; struct rkisp1_cif_isp_aec_config aec_config; struct rkisp1_cif_isp_afc_config afc_config; }; /** * struct rkisp1_params_cfg - Rockchip ISP1 Input Parameters Meta Data * * @module_en_update: mask the enable bits of which module should be updated * @module_ens: mask the enable value of each module, only update the module * which correspond bit was set in module_en_update * @module_cfg_update: mask the config bits of which module should be updated * @meas: measurement config * @others: other config */ struct rkisp1_params_cfg { __u32 module_en_update; __u32 module_ens; __u32 module_cfg_update; struct rkisp1_cif_isp_isp_meas_cfg meas; struct rkisp1_cif_isp_isp_other_cfg others; }; /*---------- PART2: Measurement Statistics ------------*/ /** * struct rkisp1_cif_isp_awb_meas - AWB measured values * * @cnt: White pixel count, number of "white pixels" found during last * measurement * @mean_y_or_g: Mean value of Y within window and frames, * Green if RGB is selected. * @mean_cb_or_b: Mean value of Cb within window and frames, * Blue if RGB is selected. * @mean_cr_or_r: Mean value of Cr within window and frames, * Red if RGB is selected. */ struct rkisp1_cif_isp_awb_meas { __u32 cnt; __u8 mean_y_or_g; __u8 mean_cb_or_b; __u8 mean_cr_or_r; }; /** * struct rkisp1_cif_isp_awb_stat - statistics automatic white balance data * * @awb_mean: Mean measured data */ struct rkisp1_cif_isp_awb_stat { struct rkisp1_cif_isp_awb_meas awb_mean[RKISP1_CIF_ISP_AWB_MAX_GRID]; }; /** * struct rkisp1_cif_isp_bls_meas_val - BLS measured values * * @meas_r: Mean measured value for Bayer pattern R * @meas_gr: Mean measured value for Bayer pattern Gr * @meas_gb: Mean measured value for Bayer pattern Gb * @meas_b: Mean measured value for Bayer pattern B */ struct rkisp1_cif_isp_bls_meas_val { __u16 meas_r; __u16 meas_gr; __u16 meas_gb; __u16 meas_b; }; /** * struct rkisp1_cif_isp_ae_stat - statistics auto exposure data * * @exp_mean: Mean luminance value of block xx * @bls_val: BLS measured values * * The number of entries of @exp_mean depends on the hardware revision * as is reported by the hw_revision field of the struct media_device_info * that is returned by ioctl MEDIA_IOC_DEVICE_INFO. * * Versions <= V11 have RKISP1_CIF_ISP_AE_MEAN_MAX_V10 entries, * versions >= V12 have RKISP1_CIF_ISP_AE_MEAN_MAX_V12 entries. * RKISP1_CIF_ISP_AE_MEAN_MAX is equal to the maximum of the two. * * Image is divided into 5x5 blocks on V10 and 9x9 blocks on V12. */ struct rkisp1_cif_isp_ae_stat { __u8 exp_mean[RKISP1_CIF_ISP_AE_MEAN_MAX]; struct rkisp1_cif_isp_bls_meas_val bls_val; }; /** * struct rkisp1_cif_isp_af_meas_val - AF measured values * * @sum: sharpness value * @lum: luminance value */ struct rkisp1_cif_isp_af_meas_val { __u32 sum; __u32 lum; }; /** * struct rkisp1_cif_isp_af_stat - statistics auto focus data * * @window: AF measured value of window x * * The module measures the sharpness in 3 windows of selectable size via * register settings(ISP_AFM_*_A/B/C) */ struct rkisp1_cif_isp_af_stat { struct rkisp1_cif_isp_af_meas_val window[RKISP1_CIF_ISP_AFM_MAX_WINDOWS]; }; /** * struct rkisp1_cif_isp_hist_stat - statistics histogram data * * @hist_bins: measured bin counters. Each bin is a 20 bits unsigned fixed point * type. Bits 0-4 are the fractional part and bits 5-19 are the * integer part. * * The window of the measurements area is divided to 5x5 sub-windows for * V10/V11 and to 9x9 sub-windows for V12. The histogram is then computed for * each sub-window independently and the final result is a weighted average of * the histogram measurements on all sub-windows. The window of the * measurements area and the weight of each sub-window are configurable using * struct @rkisp1_cif_isp_hst_config. * * The histogram contains 16 bins in V10/V11 and 32 bins in V12/V13. * * The number of entries of @hist_bins depends on the hardware revision * as is reported by the hw_revision field of the struct media_device_info * that is returned by ioctl MEDIA_IOC_DEVICE_INFO. * * Versions <= V11 have RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 entries, * versions >= V12 have RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 entries. * RKISP1_CIF_ISP_HIST_BIN_N_MAX is equal to the maximum of the two. */ struct rkisp1_cif_isp_hist_stat { __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX]; }; /** * struct rkisp1_cif_isp_stat - Rockchip ISP1 Statistics Data * * @awb: statistics data for automatic white balance * @ae: statistics data for auto exposure * @af: statistics data for auto focus * @hist: statistics histogram data */ struct rkisp1_cif_isp_stat { struct rkisp1_cif_isp_awb_stat awb; struct rkisp1_cif_isp_ae_stat ae; struct rkisp1_cif_isp_af_stat af; struct rkisp1_cif_isp_hist_stat hist; }; /** * struct rkisp1_stat_buffer - Rockchip ISP1 Statistics Meta Data * * @meas_type: measurement types (RKISP1_CIF_ISP_STAT_* definitions) * @frame_id: frame ID for sync * @params: statistics data */ struct rkisp1_stat_buffer { __u32 meas_type; __u32 frame_id; struct rkisp1_cif_isp_stat params; }; #endif /* _UAPI_RKISP1_CONFIG_H */
Save
cmd:
run