Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647/* SPDX-License-Identifier: MIT *//* * Copyright © 2022 Intel Corporation */
#ifndef _XE_PCODE_H_#define _XE_PCODE_H_
#include <linux/types.h>
struct drm_device;struct xe_device;struct xe_tile;
struct xe_pcode_version { u16 minor; u16 major; u32 engg;};
#define PCODE_DEFAULT_TIMEOUT_MS 10
int xe_pcode_init_early(struct xe_tile *tile);int xe_pcode_probe_early(struct xe_device *xe);int xe_pcode_ready(struct xe_device *xe, bool locked);int xe_pcode_init_min_freq_table(struct xe_tile *tile, u32 min_gt_freq, u32 max_gt_freq);int xe_pcode_read(struct xe_tile *tile, u32 mbox, u32 *val0, u32 *val1);int xe_pcode_write_timeout(struct xe_tile *tile, u32 mbox, u32 val, int timeout_ms);int xe_pcode_write64_timeout(struct xe_tile *tile, u32 mbox, u32 data0, u32 data1, int timeout);int xe_get_pcode_version(struct xe_device *xe, struct xe_pcode_version *version);
#define xe_pcode_write(tile, mbox, val) \ xe_pcode_write_timeout(tile, mbox, val, PCODE_DEFAULT_TIMEOUT_MS)
int xe_pcode_request(struct xe_tile *tile, u32 mbox, u32 request, u32 reply_mask, u32 reply, int timeout_ms);
#define PCODE_MBOX(mbcmd, param1, param2)\ (FIELD_PREP(PCODE_MB_COMMAND, mbcmd)\ | FIELD_PREP(PCODE_MB_PARAM1, param1)\ | FIELD_PREP(PCODE_MB_PARAM2, param2))
#endif