dp_utils.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2024, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _DP_UTILS_H_
  6. #define _DP_UTILS_H_
  7. #include <linux/bitfield.h>
  8. #include <linux/bits.h>
  9. #include <drm/display/drm_dp_helper.h>
  10. #define HEADER_BYTE_0_BIT 0
  11. #define PARITY_BYTE_0_BIT 8
  12. #define HEADER_BYTE_1_BIT 16
  13. #define PARITY_BYTE_1_BIT 24
  14. #define HEADER_BYTE_2_BIT 0
  15. #define PARITY_BYTE_2_BIT 8
  16. #define HEADER_BYTE_3_BIT 16
  17. #define PARITY_BYTE_3_BIT 24
  18. #define HEADER_0_MASK GENMASK(7, 0)
  19. #define PARITY_0_MASK GENMASK(15, 8)
  20. #define HEADER_1_MASK GENMASK(23, 16)
  21. #define PARITY_1_MASK GENMASK(31, 24)
  22. #define HEADER_2_MASK GENMASK(7, 0)
  23. #define PARITY_2_MASK GENMASK(15, 8)
  24. #define HEADER_3_MASK GENMASK(23, 16)
  25. #define PARITY_3_MASK GENMASK(31, 24)
  26. u8 dp_utils_get_g0_value(u8 data);
  27. u8 dp_utils_get_g1_value(u8 data);
  28. u8 dp_utils_calculate_parity(u32 data);
  29. ssize_t dp_utils_pack_sdp_header(struct dp_sdp_header *sdp_header, u32 *header_buff);
  30. #endif /* _DP_UTILS_H_ */