cx25821-audio-upstream.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Driver for the Conexant CX25821 PCIe bridge
  3. *
  4. * Copyright (C) 2009 Conexant Systems Inc.
  5. * Authors <hiep.huynh@conexant.com>, <shu.lin@conexant.com>
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. *
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. */
  22. #include <linux/mutex.h>
  23. #include <linux/workqueue.h>
  24. #define NUM_AUDIO_PROGS 8
  25. #define NUM_AUDIO_FRAMES 8
  26. #define END_OF_FILE 0
  27. #define IN_PROGRESS 1
  28. #define RESET_STATUS -1
  29. #define FIFO_DISABLE 0
  30. #define FIFO_ENABLE 1
  31. #define NUM_NO_OPS 4
  32. #define RISC_READ_INSTRUCTION_SIZE 12
  33. #define RISC_JUMP_INSTRUCTION_SIZE 12
  34. #define RISC_WRITECR_INSTRUCTION_SIZE 16
  35. #define RISC_SYNC_INSTRUCTION_SIZE 4
  36. #define DWORD_SIZE 4
  37. #define AUDIO_SYNC_LINE 4
  38. #define LINES_PER_AUDIO_BUFFER 15
  39. #define AUDIO_LINE_SIZE 128
  40. #define AUDIO_DATA_BUF_SZ (AUDIO_LINE_SIZE * LINES_PER_AUDIO_BUFFER)
  41. #define USE_RISC_NOOP_AUDIO 1
  42. #ifdef USE_RISC_NOOP_AUDIO
  43. #define AUDIO_RISC_DMA_BUF_SIZE \
  44. (LINES_PER_AUDIO_BUFFER * RISC_READ_INSTRUCTION_SIZE + \
  45. RISC_WRITECR_INSTRUCTION_SIZE + NUM_NO_OPS * DWORD_SIZE + \
  46. RISC_JUMP_INSTRUCTION_SIZE)
  47. #endif
  48. #ifndef USE_RISC_NOOP_AUDIO
  49. #define AUDIO_RISC_DMA_BUF_SIZE \
  50. (LINES_PER_AUDIO_BUFFER * RISC_READ_INSTRUCTION_SIZE + \
  51. RISC_WRITECR_INSTRUCTION_SIZE + RISC_JUMP_INSTRUCTION_SIZE)
  52. #endif
  53. static int _line_size;
  54. char *_defaultAudioName = "/root/audioGOOD.wav";