Update to android-mainline kernel headers v5.4.

Update generate_uapi_headers.sh to checkout the android mainline
kernel. Also, add a small modification to look for the kernel directory
in common not linux-stable.

Remove deprecated android headers from android/uapi/linux. Also,
remove f_accessory.h since it's in the android mainline kernel.

Test: Builds and runs on walleye.
Change-Id: Ia371305e19f56e6bcc2db6d5b4d299819f07ffc6
diff --git a/libc/kernel/uapi/drm/panfrost_drm.h b/libc/kernel/uapi/drm/panfrost_drm.h
index 4da1447..f8b8aa1 100644
--- a/libc/kernel/uapi/drm/panfrost_drm.h
+++ b/libc/kernel/uapi/drm/panfrost_drm.h
@@ -30,12 +30,14 @@
 #define DRM_PANFROST_GET_BO_OFFSET 0x05
 #define DRM_PANFROST_PERFCNT_ENABLE 0x06
 #define DRM_PANFROST_PERFCNT_DUMP 0x07
+#define DRM_PANFROST_MADVISE 0x08
 #define DRM_IOCTL_PANFROST_SUBMIT DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_SUBMIT, struct drm_panfrost_submit)
 #define DRM_IOCTL_PANFROST_WAIT_BO DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_WAIT_BO, struct drm_panfrost_wait_bo)
 #define DRM_IOCTL_PANFROST_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_CREATE_BO, struct drm_panfrost_create_bo)
 #define DRM_IOCTL_PANFROST_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MMAP_BO, struct drm_panfrost_mmap_bo)
 #define DRM_IOCTL_PANFROST_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_PARAM, struct drm_panfrost_get_param)
 #define DRM_IOCTL_PANFROST_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_BO_OFFSET, struct drm_panfrost_get_bo_offset)
+#define DRM_IOCTL_PANFROST_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MADVISE, struct drm_panfrost_madvise)
 #define DRM_IOCTL_PANFROST_PERFCNT_ENABLE DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_ENABLE, struct drm_panfrost_perfcnt_enable)
 #define DRM_IOCTL_PANFROST_PERFCNT_DUMP DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_DUMP, struct drm_panfrost_perfcnt_dump)
 #define PANFROST_JD_REQ_FS (1 << 0)
@@ -53,6 +55,8 @@
   __u32 pad;
   __s64 timeout_ns;
 };
+#define PANFROST_BO_NOEXEC 1
+#define PANFROST_BO_HEAP 2
 struct drm_panfrost_create_bo {
   __u32 size;
   __u32 flags;
@@ -67,6 +71,45 @@
 };
 enum drm_panfrost_param {
   DRM_PANFROST_PARAM_GPU_PROD_ID,
+  DRM_PANFROST_PARAM_GPU_REVISION,
+  DRM_PANFROST_PARAM_SHADER_PRESENT,
+  DRM_PANFROST_PARAM_TILER_PRESENT,
+  DRM_PANFROST_PARAM_L2_PRESENT,
+  DRM_PANFROST_PARAM_STACK_PRESENT,
+  DRM_PANFROST_PARAM_AS_PRESENT,
+  DRM_PANFROST_PARAM_JS_PRESENT,
+  DRM_PANFROST_PARAM_L2_FEATURES,
+  DRM_PANFROST_PARAM_CORE_FEATURES,
+  DRM_PANFROST_PARAM_TILER_FEATURES,
+  DRM_PANFROST_PARAM_MEM_FEATURES,
+  DRM_PANFROST_PARAM_MMU_FEATURES,
+  DRM_PANFROST_PARAM_THREAD_FEATURES,
+  DRM_PANFROST_PARAM_MAX_THREADS,
+  DRM_PANFROST_PARAM_THREAD_MAX_WORKGROUP_SZ,
+  DRM_PANFROST_PARAM_THREAD_MAX_BARRIER_SZ,
+  DRM_PANFROST_PARAM_COHERENCY_FEATURES,
+  DRM_PANFROST_PARAM_TEXTURE_FEATURES0,
+  DRM_PANFROST_PARAM_TEXTURE_FEATURES1,
+  DRM_PANFROST_PARAM_TEXTURE_FEATURES2,
+  DRM_PANFROST_PARAM_TEXTURE_FEATURES3,
+  DRM_PANFROST_PARAM_JS_FEATURES0,
+  DRM_PANFROST_PARAM_JS_FEATURES1,
+  DRM_PANFROST_PARAM_JS_FEATURES2,
+  DRM_PANFROST_PARAM_JS_FEATURES3,
+  DRM_PANFROST_PARAM_JS_FEATURES4,
+  DRM_PANFROST_PARAM_JS_FEATURES5,
+  DRM_PANFROST_PARAM_JS_FEATURES6,
+  DRM_PANFROST_PARAM_JS_FEATURES7,
+  DRM_PANFROST_PARAM_JS_FEATURES8,
+  DRM_PANFROST_PARAM_JS_FEATURES9,
+  DRM_PANFROST_PARAM_JS_FEATURES10,
+  DRM_PANFROST_PARAM_JS_FEATURES11,
+  DRM_PANFROST_PARAM_JS_FEATURES12,
+  DRM_PANFROST_PARAM_JS_FEATURES13,
+  DRM_PANFROST_PARAM_JS_FEATURES14,
+  DRM_PANFROST_PARAM_JS_FEATURES15,
+  DRM_PANFROST_PARAM_NR_CORE_GROUPS,
+  DRM_PANFROST_PARAM_THREAD_TLS_ALLOC,
 };
 struct drm_panfrost_get_param {
   __u32 param;
@@ -85,6 +128,13 @@
 struct drm_panfrost_perfcnt_dump {
   __u64 buf_ptr;
 };
+#define PANFROST_MADV_WILLNEED 0
+#define PANFROST_MADV_DONTNEED 1
+struct drm_panfrost_madvise {
+  __u32 handle;
+  __u32 madv;
+  __u32 retained;
+};
 #ifdef __cplusplus
 }
 #endif