<commit_before><?xml version="1.0" encoding="UTF-8"?>
<database xmlns="http://nouveau.freedesktop.org/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
<import file="copyright.xml"/>

<import file="nvchipsets.xml" />
<import file="memory/gf100_vm.xml" />

<domain name="NV_MMIO" bare="yes" prefix="chipset">

<group name="gf100_pmfb_subp">
	<bitset name="gf100_pmfb_intr" inline="yes">
		<bitfield pos="5" name="COMP_TAG_MESSUP"/>
	</bitset>
	<reg32 offset="0x20" name="INTR">
		<bitfield low="0" high="15" name="STATUS" type="gf100_pmfb_intr"/>
		<bitfield low="16" high="31" name="ENABLE" type="gf100_pmfb_intr"/>
	</reg32>
	<array name="COMP" offset="0x0c0" stride="0x19" length="1">
		<reg32 offset="0x08" name="TRIGGER">
			<bitfield pos="0" name="FLUSH"/>
			<bitfield pos="2" name="CLEAR"/>
		</reg32>
		<reg32 offset="0x0c" name="CLEAR_TAG_START"/>
		<reg32 offset="0x10" name="CLEAR_TAG_END"/>
		<reg32 offset="0x14" name="TAGMEM_BASE"/>
		<reg32 offset="0x18" name="PART_COUNT"/>
	</array>
	<reg32 offset="0xdc" name="CONFIG" access="r">
		<bitfield low="0" high="15" name="COMPTAGS_PER_CACHE_LINE"/>
		<bitfield low="16" high="23" name="CACHE_LINES"/>
		<bitfield low="24" high="27" name="CACHE_LINE_SIZE">
			<value value="0" name="512"/>
			<value value="1" name="1k"/>
			<value value="2" name="2k"/>
			<value value="3" name="4k"/>
			<value value="4" name="8k"/>
			<value value="5" name="16k"/>
			<value value="6" name="32k"/>
			<value value="7" name="64k"/>
		</bitfield>
		<bitfield low="28" high="31" name="SLICES_PER_FBP"/>
	</reg32>
	<reg32 offset="0x110" name="UNK110">
		<bitfield pos="0" name="CACHE_FLUSH_TRIGGER"/>
	</reg32>

	<reg32 offset="0x11c" name="UNK11C"/> <!-- XXX: ctx-switched with PGRAPH -->
	<reg32 offset="0x120" name="UNK120"/> <!-- XXX: ctx-switched with PGRAPH -->

	<reg32 offset="0x14c" name="MEM_ACC_UNK14C"/> <!-- deals with counter -->
	<reg32 offset="0x158" name="MEM_ACC_UNK158"/> <!-- deals with counter -->
	<reg32 offset="0x15c" name="MEM_ACC_ADDR" shr="7"/>
	<reg32 offset="0x160" name="MEM_ACC_REQINFO">
		<bitfield low="0" high="1" name="TYPE">
			<value value="0" name="WRITE"/>
			<value value="3" name="READ"/>
		</bitfield>
		<bitfield low="2" high="3" name="UNK2"/> <!-- set to 2 on BAR accesses -->
		<bitfield pos="5" name="IS_FLUSH"/> <!-- ? -->
		<bitfield low="8" high="15" name="STORAGE_TYPE" type="GF100_STORAGE_TYPE"/>
		<bitfield low="16" high="17" name="UNK16"/> <!-- for falcon accesses comes from target config -->
		<bitfield low="18" high="19" name="CLASS">
			<value value="0" name="ISO"/> <!-- scanout -->
			<value value="1" name="NORMAL"/>
			<value value="2" name="NB"/>
			<value value="3" name="CACHE"/> <!-- used for comp tag at least -->
		</bitfield>
		<bitfield pos="21" name="IS_TAG"/> <!-- ? -->
		<!-- GPC id should be somewhere here -->
		<bitfield pos="26" name="CLIENT_CLASS"> <!-- guess -->
			<value value="0" name="GPCCLIENT"/>
			<value value="1" name="HUBCLIENT"/>
		</bitfield>
		<bitfield low="27" high="31" name="HUBCLIENT" type="GF100_VM_HUBCLIENT"/>
		<bitfield low="27" high="31" name="GPCCLIENT" type="GF100_VM_GPCCLIENT"/>
	</reg32>
	<reg32 offset="0x164" name="MEM_ACC_ID"/> <!-- MEM_ACC_COUNTER latched at access time -->
	<reg32 offset="0x168" name="MEM_ACC_UNK168">
		<bitfield pos="0" name="UNK0"/> <!-- RW, enables COUNTER limit stuff? -->
		<bitfield pos="1" name="UNK1"/> <!-- RW -->
		<bitfield pos="2" name="PENDING"/> <!-- write 1 to clear -->
	</reg32>
	<reg32 offset="0x16c" name="MEM_ACC_COUNTER"/> <!-- in 0x80-byte units for sufficiently large accesses -->
	<reg32 offset="0x25c" name="PM_UNK25C"/>
	<stripe offset="0x260" name="HW_CGBLK0">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x268" name="HW_CGBLK1">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x270" name="HW_CGBLK2">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x278" name="HW_CGBLK3">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x280" name="HW_PGBLK">
		<use-group name="gf100_hw_pgblk"/>
	</stripe>
</group>

<group name="gf100_pmfb">
	<reg32 offset="0x28" name="PM_UNK28" variants="GF100-">
		<bitfield low="0" high="13" name="UNK0"/>
		<bitfield low="16" high="18" name="UNK16"/>
		<bitfield low="24" high="25" name="UNK24"/>
		<bitfield pos="29" name="UNK29"/>
	</reg32><commit_msg>rnndb/memory/gf100_pmfb: remove useless variants tag for PM_UNK28<commit_after><?xml version="1.0" encoding="UTF-8"?>
<database xmlns="http://nouveau.freedesktop.org/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd">
<import file="copyright.xml"/>

<import file="nvchipsets.xml" />
<import file="memory/gf100_vm.xml" />

<domain name="NV_MMIO" bare="yes" prefix="chipset">

<group name="gf100_pmfb_subp">
	<bitset name="gf100_pmfb_intr" inline="yes">
		<bitfield pos="5" name="COMP_TAG_MESSUP"/>
	</bitset>
	<reg32 offset="0x20" name="INTR">
		<bitfield low="0" high="15" name="STATUS" type="gf100_pmfb_intr"/>
		<bitfield low="16" high="31" name="ENABLE" type="gf100_pmfb_intr"/>
	</reg32>
	<array name="COMP" offset="0x0c0" stride="0x19" length="1">
		<reg32 offset="0x08" name="TRIGGER">
			<bitfield pos="0" name="FLUSH"/>
			<bitfield pos="2" name="CLEAR"/>
		</reg32>
		<reg32 offset="0x0c" name="CLEAR_TAG_START"/>
		<reg32 offset="0x10" name="CLEAR_TAG_END"/>
		<reg32 offset="0x14" name="TAGMEM_BASE"/>
		<reg32 offset="0x18" name="PART_COUNT"/>
	</array>
	<reg32 offset="0xdc" name="CONFIG" access="r">
		<bitfield low="0" high="15" name="COMPTAGS_PER_CACHE_LINE"/>
		<bitfield low="16" high="23" name="CACHE_LINES"/>
		<bitfield low="24" high="27" name="CACHE_LINE_SIZE">
			<value value="0" name="512"/>
			<value value="1" name="1k"/>
			<value value="2" name="2k"/>
			<value value="3" name="4k"/>
			<value value="4" name="8k"/>
			<value value="5" name="16k"/>
			<value value="6" name="32k"/>
			<value value="7" name="64k"/>
		</bitfield>
		<bitfield low="28" high="31" name="SLICES_PER_FBP"/>
	</reg32>
	<reg32 offset="0x110" name="UNK110">
		<bitfield pos="0" name="CACHE_FLUSH_TRIGGER"/>
	</reg32>

	<reg32 offset="0x11c" name="UNK11C"/> <!-- XXX: ctx-switched with PGRAPH -->
	<reg32 offset="0x120" name="UNK120"/> <!-- XXX: ctx-switched with PGRAPH -->

	<reg32 offset="0x14c" name="MEM_ACC_UNK14C"/> <!-- deals with counter -->
	<reg32 offset="0x158" name="MEM_ACC_UNK158"/> <!-- deals with counter -->
	<reg32 offset="0x15c" name="MEM_ACC_ADDR" shr="7"/>
	<reg32 offset="0x160" name="MEM_ACC_REQINFO">
		<bitfield low="0" high="1" name="TYPE">
			<value value="0" name="WRITE"/>
			<value value="3" name="READ"/>
		</bitfield>
		<bitfield low="2" high="3" name="UNK2"/> <!-- set to 2 on BAR accesses -->
		<bitfield pos="5" name="IS_FLUSH"/> <!-- ? -->
		<bitfield low="8" high="15" name="STORAGE_TYPE" type="GF100_STORAGE_TYPE"/>
		<bitfield low="16" high="17" name="UNK16"/> <!-- for falcon accesses comes from target config -->
		<bitfield low="18" high="19" name="CLASS">
			<value value="0" name="ISO"/> <!-- scanout -->
			<value value="1" name="NORMAL"/>
			<value value="2" name="NB"/>
			<value value="3" name="CACHE"/> <!-- used for comp tag at least -->
		</bitfield>
		<bitfield pos="21" name="IS_TAG"/> <!-- ? -->
		<!-- GPC id should be somewhere here -->
		<bitfield pos="26" name="CLIENT_CLASS"> <!-- guess -->
			<value value="0" name="GPCCLIENT"/>
			<value value="1" name="HUBCLIENT"/>
		</bitfield>
		<bitfield low="27" high="31" name="HUBCLIENT" type="GF100_VM_HUBCLIENT"/>
		<bitfield low="27" high="31" name="GPCCLIENT" type="GF100_VM_GPCCLIENT"/>
	</reg32>
	<reg32 offset="0x164" name="MEM_ACC_ID"/> <!-- MEM_ACC_COUNTER latched at access time -->
	<reg32 offset="0x168" name="MEM_ACC_UNK168">
		<bitfield pos="0" name="UNK0"/> <!-- RW, enables COUNTER limit stuff? -->
		<bitfield pos="1" name="UNK1"/> <!-- RW -->
		<bitfield pos="2" name="PENDING"/> <!-- write 1 to clear -->
	</reg32>
	<reg32 offset="0x16c" name="MEM_ACC_COUNTER"/> <!-- in 0x80-byte units for sufficiently large accesses -->
	<reg32 offset="0x25c" name="PM_UNK25C"/>
	<stripe offset="0x260" name="HW_CGBLK0">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x268" name="HW_CGBLK1">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x270" name="HW_CGBLK2">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x278" name="HW_CGBLK3">
		<use-group name="gf100_hw_cgblk"/>
	</stripe>
	<stripe offset="0x280" name="HW_PGBLK">
		<use-group name="gf100_hw_pgblk"/>
	</stripe>
</group>

<group name="gf100_pmfb">
	<reg32 offset="0x28" name="PM_UNK28">
		<bitfield low="0" high="13" name="UNK0"/>
		<bitfield low="16" high="18" name="UNK16"/>
		<bitfield low="24" high="25" name="UNK24"/>
		<bitfield pos="29" name="UNK29"/>
	</reg32>
{'fraction_non_alphanumeric': 0.22348314606741573, 'fraction_numerical': 0.0750561797752809, 'mean_word_length': 4.969818913480886, 'pattern_counts': {'":': 0, '<': 239, '<?xml version=': 2, '>': 239, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 12}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3921804', 'n_tokens_mistral': 4006, 'n_tokens_neox': 3550, 'n_words': 698}